<body>
<div>
我
</div>
<script>
$(function(){
$(':contains(你)').css('background','lime');
});
</script>
</body>
:contains 选择器选取包含指定字符串的元素。(W3school)
我想选择包含“你”这个字符串的元素,显然页面中没有符合条件的,但是页面也变成了绿色。 下面两个也可以使页面变成绿色(瞎试的) $(':even').css('background','lime'); $(':odd').css('background','lime'); 请问这是为什么呢?谢谢。
1.:contains('你')页画为什么会变成绿色?
因为你的script标签在html画面上,jquery在查找元素时会整个画面上查找。然后找到script里面有个'你',就是你写的那段javascript代码,程序把它当作text来处理了暂时:
所以:contains(你)应该会找到三个元素:html,body,以及这个script三个元素,将这三个元素样式加上background,当然script不支持加了也没用。
2.$(':even').css('background','lime'); $(':odd').css('background','lime'); 画面为什么会变成绿色?
$(':even')
会选中html,$(':odd')
会选中body,设置这两个元素的background
当然会有作用了。另外一点补充:关于第一点,如果你把你的js代码写在一个js文件中然后通过script标签引入就不会出现这样的问题了。如果是注释里面出现了你要查找的文字也会被忽略。