0

仅当跨度具有某些文本时,我才需要启用 div,但是无论我在“包含”括号中放置什么,都会启用 div。甚至是随机的胡言乱语。在我的页面头部,我引用了谷歌的 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>

我究竟做错了什么?非常感谢您的帮助!!

4

3 回答 3

2

我会做如下的事情:

<script>
if($("span:contains('abc123')").length > 0){
$("#mydiv").css("display","block")
}
</script>
于 2012-12-13T05:13:29.763 回答
1

您必须检查该元素是否确实存在。选择器将始终返回一个真实值。该length属性将告诉您集合中有多少这些元素(如果有):

if( $("span:contains('abc123')").length ) { 
  //^^ elements exist
}
于 2012-12-13T05:09:38.053 回答
0

是的,我相信这已经得到解答,但只是补充一下:

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

我认为这会更好,因为页面上已经有 jQuery。

于 2012-12-13T05:13:53.803 回答