写作目的:
1 2 3 4 5
| 想要操作DOM中的元素,最基本的是把他们准确的选择出来。 而选择的办法有很多种,要为元素设置样式,可以通过css选择器来选择。 要实现程序逻辑,可以用JS把元素选择出来,也可以用更强大的jQuery选择器。 上一节我们介绍了CSS选择器,这一节我们来看jQuery选择器。 jquery使用的就是CSS选择器,不过在CSS的基础上做了一些小小的扩展。
|
jQuery选择器
其中,[attribute!=value], :checkbox , :button, :contains(text)等为jQuery的扩展。要看详细信息,请查阅犀牛书第六版p567.
详解
还是来看一下具体用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>用来测试各种写法的选择器</title> <link href="selector.css" type="text/css" rel="stylesheet"> <script src="jquery.min.js"></script> </head> <body> <h1 class="navbar">测试各种选择器 这是HI</h1> <p>选择器有很多种P</p> <div>DIV <p>P</p> <div>DIV <p>P</p> <h2>h2</h2> </div> <div>DIV</div> <p>p</p> <p>P</p> </div> <div>DIV<h1>h1<p>p</p></h1></div> <div>DIV<p>P</p></div> <p>p</p> <ul>ul <li>li <ol>ol <li>li</li> <li>li</li> <li>li</li> </ol> </li> <li>li <ol>ol <li>li</li> <li>li</li> </ol> </li> <li>li</li> <li>li</li> </ul> <ul>ul <li>li</li> <li>li</li> <li>li</li> </ul> <script src="selector.js"></script> </body> </html>
|
要使用jquery库,我们要引库。以下为css代码。为了方便和css选择器比较,我们还是使用上一篇文章的样式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| * :not(body) { margin: 3px; padding: 10px; border: solid 2px black; } div p{ border-color: red; } div > p{ background-color: aquamarine; } div + p { background-color: greenyellow; } ul,ol { list-style: none; } li:first-child { border-color: yellow; } li:first-of-type { background-color: pink; }
|
下面是jQuery代码
1 2 3
| $("div p").text("我被Jquery选中了"); $("div>p").css("color","red"); $("div+p").css("border","dotted 3px red")
|
最后,让我们来对比下结果:
div p的CSS样式为红色边框,而jquery让现实文字为“我被jquery选中了”,完全吻合。
div>p的CSS样式为天蓝色背景,jquery让显示文字变为红色,完全吻合。
div+p的CSS样式为亮绿色背景,jquery给边框加了圆角。完全吻合。
这里不再演示其它选择器,用法都差不多,理解了这些,能准确高效的选出元素,我们才能顺利的往下。