簡體   English   中英

如果使用jQuery文本為“0”,如何隱藏“span”?

[英]How to hide “span” if it text is “0” using jQuery?

我正在尋找隱藏包含0的跨度。我已經查看了其他代碼並且我已經嘗試調整它但我無法讓它正常工作。 我希望它只在內容為“0”時隱藏跨度,但是當運行下面的代碼時它也隱藏任何包含0的數字,例如10,我不想要。

只是為了使它更清晰一點,只有當它內部的數字大於0時它才會顯示(它是一個從0開始的計數器,所以不管怎樣都不能小於0)。

任何幫助表示贊賞。

HTML

<div id="post-excerpts-likes">
    <a href="#" class="zilla-likes" id="zilla-likes-175519" title="Like this">
        <span class="zilla-likes-count">0</span>
    </a>
</div>

jQuery的

$(".zilla-likes-count:contains('0')").hide();

還請注意,頁面上有多個跨越所有相同的類,我希望代碼能夠影響它們。

你需要選擇元素具有完全相同的文本但是:contains()不是你想要的。 .filter()是基於文本過濾所選元素的一個很好的函數。

 $(".zilla-likes-count").filter(function(){ return $(this).text().trim() === "0"; }).hide(); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="post-excerpts-likes"> <a href="#" class="zilla-likes" id="zilla-likes-175519" title="Like this"> <span class="zilla-likes-count">Text0Text</span> <span class="zilla-likes-count">0</span> </a> </div> 

逐個循環遍歷它們,並使用.text()檢查內容:

$(".zilla-likes-count").each(function(){
    if ($(this).text() === '0') {
        $(this).hide();
    }
});

您可以迭代每個匹配元素,然后檢查其文本以查看它是否與“0”完全匹配,如果匹配則隱藏它。

干得好:

 $(".zilla-likes-count").each((i,e) => e.textContent === '0' ? $(e).hide() : ''); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="post-excerpts-likes"> <a href="#" class="zilla-likes" id="zilla-likes-175519" title="Like this"> <span class="zilla-likes-count">0</span> <span class="zilla-likes-count">10</span> <span class="zilla-likes-count">55</span> </a> </div> 

簡單..只需遍歷類數組並檢查其值是否包含0 所以,代碼就像:

$(".zilla-likes-count").each(function(){
    if ($(this).text() === '0') $(this).hide();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM