2016-04-21 85 views
0

我想在頁面上創建一個Div出現如果一個字在頁面上稍後存在? ,我實際上喜歡它做的是顯示頁面上是否出現10個列表中的任何單詞?我希望找到他們的唯一地方是那個TD班級「sku nobr」之後,那個跨班級「td-title」基本jquery - 如果文本存在TD然後使DIV可見

我是一個總的新手,我得到了它的H1值與此代碼,但我不知道如何做到這一點與4523現在呢?

謝謝!!!!!

<script type="text/javascript"> 
 
$(document).ready(function(){ 
 
if ($(".sku nobr:contains('4523')").length) { 
 
    $("#thingtohide").removeAttr("style").none(); 
 
} 
 
}); 
 
</script>
<div id="thingtohide" style="display: none;">COOL TEXT TO DISPLAY</div> 
 

 
    <tr class="cart-item-row"> 
 
     <td class="sku nobr"> 
 
     <span class="td-title">SKU:</span> 
 
     4523 
 
     </td> 
 
    </tr>

+0

重複:jQuery的:檢查,看看是否div包含文本,然後採取行動( http://stackoverflow.com/questions/902597/jquery-checking-to-see-if-div-contains-text-then-action) –

回答

2

首先,您的HTML無效。您錯過了<table></table>標籤。

<div id="thingtohide" style="display: none;">COOL TEXT TO DISPLAY</div> 
<table> 
    <tbody> 
     <tr class="cart-item-row"> 
      <td class="sku nobr"> 
       <span class="td-title">SKU:</span>4523 
      </td> 
     </tr> 
    </tbody> 
</table> 

其次,您的選擇器是錯誤的。與.sku:contains('4523')

$(document).ready(function(){ 
    if ($(".sku:contains('4523')").length) { 
     $("#thingtohide").show(); 
    } 
}); 

編輯更換.sku nobr:contains('4523')如果你正在尋找任何數量(可以包含逗號),你必須更有創意。您可以使用filter方法。這是另一個demo

$(document).ready(function(){ 
    // find TD with class 'sku' containing numbers 
    var $sku = $("td.sku").filter(function() { 
     // assuming the number is 4523,8563,9997,7757 
     // text = $.trim($(this).text());  => SKU:4523,8563,9997,7757 
     // text = text.replace(/SKU:|,/g, ''); => 4523856399977757 
     var text = $.trim($(this).text().replace(/SKU:|,/g, '')); 
     // check that it is a number 
     return text && !isNaN(text); 
    }); 
    // check if there are any matches 
    if ($sku.length) { 
     $("#thingtohide").show(); 
    } 
}); 
+0

謝謝,我爲錯別字表示歉意,當我試圖離開我的辦公室時,我發佈了這個消息。實際的類是我不認爲表標籤與樣本相關。另外當我確實將課程改爲sku時,而不是sku nobr作爲測試,它仍然不起作用? – Casey

+0

你確定你正確的鏈接jQuery嗎?這是代碼工作的[demo](http://jsbin.com/xubakoreci/edit?html,js輸出)。 – Mikey

+0

對不起,這是爲我工作..最後一個問題..我實際上需要檢查「sku nobr」Td是否包含任何數字列表? (prouct skus)實際上...。所以我們可以說4523,8563,9997,7757或5466,如果這些代碼中存在這些數字中的任何一個數字,我希望它做同樣的事情現在爲4523? – Casey

1

看起來你已經有了一個小錯字。

$(".sku nobr:contains('4523')") 

更改爲:

$(".sku.nobr:contains('4523')") 

多類需要由.,而不是一個空格隔開。

+0

我不確定我是否跟着你?這個類是另外,作爲一個測試,我試用了$(「。sku.nobr:contains('4523')」)和$(「。sku:contains('4523')」 )這兩者都不起作用? – Casey

0

,用於檢查CEL包含多段文本我這樣做:

<script> 
 
$(document).ready(function(){ 
 
    if ($(".sku:contains('4523'),.sku:contains('5678')").length) { 
 
     $("#thingtohide").show(); 
 
    } 
 
}); 
 
</script>