我只需要在一个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>
我做错了什么? 非常感谢您的帮助!!
答案 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。