2012-12-13 64 views
0

我只需要跨度具有某些文本時啓用div,但無論我放在「包含」括號中的div如何啓用。即使隨機亂碼。 在我的網頁的頭,我引用谷歌的jQuery的jquery跨度:包含不起作用

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

然後運行我的腳本正確的結束標記

<script> 
if($("span:contains('abc123')")){ 
document.getElementById("mydiv").style.display = "block"; 
} 
</script> 

我在做什麼錯了嗎? 非常感謝您的幫助!

+0

[檢查該元素是否在DOM中或不與jQuery?](http://stackoverflow.com/questions/7119308/check-that-element-is-in-dom-or-not-with- jquery) –

回答

2

我會做類似如下:

<script> 
if($("span:contains('abc123')").length > 0){ 
$("#mydiv").css("display","block") 
} 
</script> 
+0

謝謝!!!!完美的作品 – themike

1

你必須檢查元素是否真的存在。選擇器總是會返回一個真值。該length屬性會告訴你有多少有集合中的元素,如果有的話:

if($("span:contains('abc123')").length) { 
    //^^ elements exist 
} 
0

是的,我相信這已經回答了,但只是補充:

if($("span:contains('abc123')").length) { 
    $("#mydiv").show(); 
} 

我認爲這效果更好,因爲你已經在頁面上有jQuery。