欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

JQuery :contains(text)选择器使用案例

程序员文章站 2022-05-07 18:54:08
...

概述

匹配包含给定文本的元素

参数

textStringV1.1.4

一个用以查找的字符串

示例

描述:

查找所有包含 "John" 的 div 元素

HTML 代码:

<div>John Resig</div> <div>George Martin</div> <div>Malcom John Sinclair</div> <div>J. Ohn

jQuery 代码:

$("div:contains('John')")

结果:

[ <div>John Resig</div>, <div>Malcom John Sinclair</div> ]

实例代码:

实例一:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.jb51.net/" />
<title>脚本之家</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript"> 
$(document).ready(function(){ 
  $("button").click(function(){ 
    $("li:contains('html')").css("color","blue") 
  }) 
}) 
</script>
</head>
<body>
<ul>
  <li>html专区</li>
  <li>div+css专区</li>
  <li>Jquery专区</li>
  <li>Javascript专区</li>
  <li>html5专区</li>
</ul>
<button>点击查看效果</button>
</body>
</html>

以上代码能够将包含“html”的li元素中的文本颜色设置为蓝色。

jQuery中的:contains(text)

<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来处理了暂时:

 $(function(){
        $(':contains(你)').css('background','lime');
 });

所以:contains(你)应该会找到三个元素:html,body,以及这个script三个元素,将这三个元素样式加上background,当然script不支持加了也没用。

2.$(':even').css('background','lime'); $(':odd').css('background','lime'); 画面为什么会变成绿色?

$(':even')会选中html,$(':odd')会选中body,设置这两个元素的background当然会有作用了。

另外一点补充:关于第一点,如果你把你的js代码写在一个js文件中然后通过script标签引入就不会出现这样的问题了。如果是注释里面出现了你要查找的文字也会被忽略。

以上就是 JQuery :contains(text)选择器使用案例的详细内容,更多请关注其它相关文章!