Jquery span:包含不起作用

时间:2012-12-13 05:07:14

标签: javascript jquery jquery-selectors

我只需要在一个span有某些文本时启用div,但无论我在“contains”括号中放入什么,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>

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

3 个答案:

答案 0 :(得分:2)

我会做类似下面的事情:

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

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

我认为这样做效果更好,因为页面上已经有了jQuery。