参考文档下载

简介

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>JavaWeb</title>
  6. <script type="text/javascript">
  7. window.onload = function () {
  8. var btnObj = document.getElementById("btn");
  9. btnObj.onclick = function () {
  10. alert("js 原生的单击事件");
  11. }
  12. }
  13. </script>
  14. </head>
  15. <body>
  16. <button id="btn">Say hello</button>
  17. </body>
  18. </html>
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>JavaWeb</title>
  6. <!--引入jQuery-->
  7. <script type="text/javascript" src="jquery-1.7.2.js"></script>
  8. <script type="text/javascript">
  9. $(function () { //表示页面加载完成之后,相当于window.onload = function (){}
  10. var $btnObj = $("#btn"); //表示按id查询标签对象
  11. $btnObj.click(function () { //绑定单击事件
  12. alert("jQuery 的单击事件");
  13. });
  14. });
  15. </script>
  16. </head>
  17. <body>
  18. <button id="btn">Say hello</button>
  19. </body>
  20. </html>
  • 使用jQuery必须引入jQuery库
  • jQuery中$是一个函数
  • 为按钮添加函数的一般步骤:
    1. 使用jQuery查询到标签对象
    2. 使用标签对象.click(function(){});

jQuery核心函数$

$是jQuery的核心函数,能完成jQuery的很多功能,$()就是调用这个核心函数。

  1. 当传入参数为【函数】时:

表示在页面加载完成之后。相当于相当于window.onload = function (){}

  1. 传入参数为【HTML字符串】时:

会对我们创建html标签对象

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>JavaWeb</title>
  6. <!--引入jQuery-->
  7. <script type="text/javascript" src="jquery-1.7.2.js"></script>
  8. <script type="text/javascript">
  9. $(function () {
  10. $("<button id=\"btn\">Say hello</button>").appendTo("body");
  11. });
  12. </script>
  13. </head>
  14. <body>
  15. <button id="btn">Say hello</button>
  16. </body>
  17. </html>
  1. 传入参数为【选择器字符串】时:

    $(“#id属性值”); id选择器,根据id查询标签对象
    $(“标签名”); 标签名选择器,根据指定标签名查询标签对象
    $(“.class属性值”); 类型选择器,可以根据class属性值查询标签对象

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>JavaWeb</title>
    6. <!--引入jQuery-->
    7. <script type="text/javascript" src="jquery-1.7.2.js"></script>
    8. <script type="text/javascript">
    9. $(function () {
    10. alert($("button").length);
    11. });
    12. </script>
    13. </head>
    14. <body>
    15. <button>Say hello</button>
    16. <button>Say hello</button>
    17. <button>Say hello</button>
    18. </body>
    19. </html>
  2. 传入参数为【DOM对象】时:

会把这个dom对象转化为jQuery对象

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>JavaWeb</title>
  6. <!--引入jQuery-->
  7. <script type="text/javascript" src="jquery-1.7.2.js"></script>
  8. <script type="text/javascript">
  9. $(function () {
  10. var btnObj = document.getElementById("btn01"); //Dom对象
  11. alert(btnObj); //[object HTMLButtonElement]
  12. alert($(btnObj)); //[object Object] jQuery对象
  13. });
  14. </script>
  15. </head>
  16. <body>
  17. <button id="btn01">Say hello</button>
  18. <button>Say hello</button>
  19. <button>Say hello</button>
  20. </body>
  21. </html>

DOM对象与jQuery对象的区分

DOM对象alert出来的效果是:[object HTML 标签名 Element]
jQuery对象alert出来的效果是:[object Object]

jQuery对象

  • 通过JQuery提供的API创建的对象,是JQuery对象
  • 通过JQuery包装的Dom对象,也是JQuery对象
  • 通过JQuery提供的API查询到的对象,是JQuery对象

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>JavaWeb</title>
    6. <!--引入jQuery-->
    7. <script type="text/javascript" src="jquery-1.7.2.js"></script>
    8. <script type="text/javascript">
    9. $(function () {
    10. // 通过JQuery提供的API创建的对象,是JQuery对象
    11. var $h1 = $("<h1></h1>");
    12. alert($h1); //[object Object]
    13. // 通过JQuery包装的Dom对象,也是JQuery对象
    14. var btnObj = document.getElementById("btn01"); //Dom对象
    15. alert(btnObj); //[object HTMLButtonElement]
    16. alert($(btnObj)); //[object Object] jQuery对象
    17. // 通过JQuery提供的API查询到的对象,是JQuery对象
    18. var $btn01 = $("#btn01");
    19. alert($btn01);//[object Object]
    20. });
    21. </script>
    22. </head>
    23. <body>
    24. <button id="btn01">Say hello</button>
    25. <button>Say hello</button>
    26. <button>Say hello</button>
    27. </body>
    28. </html>

    jQuery对象的本质

    jQuery对象是DOM对象的数组 + jQuery提供的一系列功能函数。

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>JavaWeb</title>
    6. <!--引入jQuery-->
    7. <script type="text/javascript" src="jquery-1.7.2.js"></script>
    8. <script type="text/javascript">
    9. $(function () {
    10. var $btns = $("button");
    11. alert($btns); //[object Object] jQuery对象
    12. for (var i = 0; i < $btns.length; i++) {
    13. alert($btns[i]); //[object HTMLButtonElement] DOM对象
    14. }
    15. });
    16. </script>
    17. </head>
    18. <body>
    19. <button id="btn01">Say hello</button>
    20. <button>Say hello</button>
    21. <button>Say hello</button>
    22. <button>Say hello</button>
    23. </body>
    24. </html>

    jQuery对象与Dom对象的区别

  • jQuery对象不能使用DOM对象的属性和方法

  • DOM对象也不能使用jQuery对象的属性和方法

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>JavaWeb</title>
    6. <!--引入jQuery-->
    7. <script type="text/javascript" src="jquery-1.7.2.js"></script>
    8. <script type="text/javascript">
    9. $(function () {
    10. //document.getElementById("btn01").innerHTML = "这是Dom对象的属性innerHTML";
    11. //Dom对象的属性和方法jQuery对象无法使用
    12. //$("#btn01").innerHTML = "这是Dom对象的属性innerHTML"; //无法使用
    13. //$("#btn01")[0].innerHTML = "这是Dom对象的属性innerHTML"; //可以使用
    14. // $("#btn01").click(function () {
    15. // alert("click()是jQuery对象的方法");
    16. // });
    17. //jQuery对象的属性和方法Dom对象无法使用
    18. // document.getElementById("btn01").click(function () { //无法实现
    19. // alert("click()是jQuery对象的方法");
    20. // });
    21. });
    22. </script>
    23. </head>
    24. <body>
    25. <button id="btn01">Say hello</button>
    26. <button>Say hello</button>
    27. <button>Say hello</button>
    28. <button>Say hello</button>
    29. </body>
    30. </html>

    Dom对象和jQuery对象相互转化

    Dom对象转jQuery对象

  1. 先有DOM对象
  2. $(DOM对象)就可以转换为jQuery对象

    jQuery对象转化为Dom对象

  3. 先有jQuery对象

  4. jQuery对象[下标]取出相应的DOM对象

image.png

jQuery选择器

基本选择器:

ID 选择器: 根据id查找标签对象
.class选择器:根据class查找标签对象element选择器:根据标签名查找标签对象
* 选择器: 表示任意的,所有的元素
selector1,selector2组合选择器:合并选择器1,选择器2的结果并返回

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>Untitled Document</title>
  6. <style type="text/css">
  7. div, span, p {
  8. width: 140px;
  9. height: 140px;
  10. margin: 5px;
  11. background: #aaa;
  12. border: #000 1px solid;
  13. float: left;
  14. font-size: 17px;
  15. font-family: Verdana;
  16. }
  17. div.mini {
  18. width: 55px;
  19. height: 55px;
  20. background-color: #aaa;
  21. font-size: 12px;
  22. }
  23. div.hide {
  24. display: none;
  25. }
  26. </style>
  27. <script type="text/javascript" src="jquery-1.7.2.js"></script>
  28. <script type="text/javascript">
  29. //页面加载完之后才能执行
  30. $(function () {
  31. //1.选择 id 为 one 的元素 "background-color","#bbffaa"
  32. $("#btn1").click(function () {
  33. // css() 方法 可以设置和获取样式
  34. $("#one").css("background-color", "#bbffaa");
  35. });
  36. //2.选择 class 为 mini 的所有元素
  37. $("#btn2").click(function () {
  38. $(".mini").css("background-color", "#bbffaa");
  39. });
  40. //3.选择 元素名是 div 的所有元素
  41. $("#btn3").click(function () {
  42. $("div").css("background-color", "#bbffaa");
  43. });
  44. //4.选择所有的元素
  45. $("#btn4").click(function () {
  46. $("*").css("background-color", "#bbffaa");
  47. });
  48. //5.选择所有的 span 元素和id为two的元素
  49. $("#btn5").click(function () {
  50. $("span, #two").css("background-color", "#bbffaa");
  51. });
  52. });
  53. </script>
  54. </head>
  55. <body>
  56. <input type="button" value="选择 id 为 one 的元素" id="btn1"/>
  57. <input type="button" value="选择 class 为 mini 的所有元素" id="btn2"/>
  58. <input type="button" value="选择 元素名是 div 的所有元素" id="btn3"/>
  59. <input type="button" value="选择 所有的元素" id="btn4"/>
  60. <input type="button" value="选择 所有的 span 元素和id为two的元素" id="btn5"/>
  61. <br>
  62. <div class="one" id="one">
  63. id 为 one,class 为 one 的div
  64. <div class="mini">class为mini</div>
  65. </div>
  66. <div class="one" id="two" title="test">
  67. id为two,class为one,title为test的div
  68. <div class="mini" title="other">class为mini,title为other</div>
  69. <div class="mini" title="test">class为mini,title为test</div>
  70. </div>
  71. <div class="one">
  72. <div class="mini">class为mini</div>
  73. <div class="mini">class为mini</div>
  74. <div class="mini">class为mini</div>
  75. <div class="mini"></div>
  76. </div>
  77. <div class="one">
  78. <div class="mini">class为mini</div>
  79. <div class="mini">class为mini</div>
  80. <div class="mini">class为mini</div>
  81. <div class="mini" title="tesst">class为mini,title为tesst</div>
  82. </div>
  83. <div style="display:none;" class="none">style的display为"none"的div</div>
  84. <div class="hide">class为"hide"的div</div>
  85. <div>
  86. 包含input的type为"hidden"的div<input type="hidden" size="8">
  87. </div>
  88. <span class="one" id="span">^^span元素^^</span>
  89. </body>
  90. </html>

层级选择器

ancestor descendant后代选择器:在给定的祖先元素下匹配所有的后代元素
parent > child 子元素选择器:在给定的父元素下匹配所有的子元素(直接孩子,孙子不算)
prev + next 相邻元素选择器:匹配所有紧接在prev元素后的next元素
prev ~ sibings 之后的兄弟元素选择器:匹配prev元素之后的所有siblings元素

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>Untitled Document</title>
  6. <style type="text/css">
  7. div, span, p {
  8. width: 140px;
  9. height: 140px;
  10. margin: 5px;
  11. background: #aaa;
  12. border: #000 1px solid;
  13. float: left;
  14. font-size: 17px;
  15. font-family: Verdana;
  16. }
  17. div.mini {
  18. width: 55px;
  19. height: 55px;
  20. background-color: #aaa;
  21. font-size: 12px;
  22. }
  23. div.hide {
  24. display: none;
  25. }
  26. </style>
  27. <script type="text/javascript" src="jquery-1.7.2.js"></script>
  28. <script type="text/javascript">
  29. //简写
  30. // $(function () {
  31. //
  32. // });
  33. //全名
  34. $(document).ready(function () {
  35. //1.选择 body 内的所有 div 元素
  36. $("#btn1").click(function () {
  37. $("body div").css("background", "#bbffaa");
  38. });
  39. //2.在 body 内, 选择div子元素
  40. $("#btn2").click(function () {
  41. $("body > div").css("background", "#bbffaa");
  42. });
  43. //3.选择 id 为 one 的下一个 div 元素
  44. $("#btn3").click(function () {
  45. $("#one+div").css("background", "#bbffaa");
  46. });
  47. //4.选择 id 为 two 的元素后面的所有 div 兄弟元素
  48. $("#btn4").click(function () {
  49. $("#two~div").css("background", "#bbffaa");
  50. });
  51. });
  52. </script>
  53. </head>
  54. <body>
  55. <!-- <div>
  56. <h1>层级选择器:根据元素的层级关系选择元素</h1>
  57. ancestor descendant :
  58. parent > child :
  59. prev + next :
  60. prev ~ siblings :
  61. </div> -->
  62. <input type="button" value="选择 body 内的所有 div 元素" id="btn1"/>
  63. <input type="button" value="在 body 内, 选择div子元素" id="btn2"/>
  64. <input type="button" value="选择 id 为 one 的下一个 div 元素" id="btn3"/>
  65. <input type="button" value="选择 id 为 two 的元素后面的所有 div 兄弟元素" id="btn4"/>
  66. <br><br>
  67. <div class="one" id="one">
  68. id 为 one,class 为 one 的div
  69. <div class="mini">class为mini</div>
  70. </div>
  71. <div class="one" id="two" title="test">
  72. id为two,class为one,title为test的div
  73. <div class="mini" title="other">class为mini,title为other</div>
  74. <div class="mini" title="test">class为mini,title为test</div>
  75. </div>
  76. <div class="one">
  77. <div class="mini">class为mini</div>
  78. <div class="mini">class为mini</div>
  79. <div class="mini">class为mini</div>
  80. <div class="mini"></div>
  81. </div>
  82. <div class="one">
  83. <div class="mini">class为mini</div>
  84. <div class="mini">class为mini</div>
  85. <div class="mini">class为mini</div>
  86. <div class="mini" title="tesst">class为mini,title为tesst</div>
  87. </div>
  88. <div style="display:none;" class="none">style的display为"none"的div</div>
  89. <div class="hide">class为"hide"的div</div>
  90. <div>
  91. 包含input的type为"hidden"的div<input type="hidden" size="8">
  92. </div>
  93. <span id="span">^^span元素^^</span>
  94. </body>
  95. </html>

基本过滤选择器

:first 获取第一个元素
:last 获取最后个元素
:not(selector) 去除所有与给定选择器匹配的元素
:even 匹配所有索引值为偶数的元素,从 0 开始计数
:odd 匹配所有索引值为奇数的元素,从 0 开始计数
:eq(index) 匹配一个给定索引值的元素
:gt(index) 匹配所有大于给定索引值的元素
:lt(index) 匹配所有小于给定索引值的元素
:header 匹配如 h1, h2, h3 之类的标题元素
:animated 匹配所有正在执行动画效果的元素

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>Untitled Document</title>
  6. <style type="text/css">
  7. div, span, p {
  8. width: 140px;
  9. height: 140px;
  10. margin: 5px;
  11. background: #aaa;
  12. border: #000 1px solid;
  13. float: left;
  14. font-size: 17px;
  15. font-family: Verdana;
  16. }
  17. div.mini {
  18. width: 55px;
  19. height: 55px;
  20. background-color: #aaa;
  21. font-size: 12px;
  22. }
  23. div.hide {
  24. display: none;
  25. }
  26. </style>
  27. <script type="text/javascript" src="jquery-1.7.2.js"></script>
  28. <script type="text/javascript">
  29. $(document).ready(function(){
  30. function anmateIt(){
  31. $("#mover").slideToggle("slow", anmateIt);
  32. }
  33. anmateIt();
  34. });
  35. $(document).ready(function(){
  36. //1.选择第一个 div 元素
  37. $("#btn1").click(function(){
  38. $("div:first").css("background", "#bbffaa");
  39. });
  40. //2.选择最后一个 div 元素
  41. $("#btn2").click(function(){
  42. $("div:last").css("background", "#bbffaa");
  43. });
  44. //3.选择class不为 one 的所有 div 元素
  45. $("#btn3").click(function(){
  46. $("div:not(.one)").css("background", "#bbffaa");
  47. });
  48. //4.选择索引值为偶数的 div 元素
  49. $("#btn4").click(function(){
  50. $("div:even").css("background", "#bbffaa");
  51. });
  52. //5.选择索引值为奇数的 div 元素
  53. $("#btn5").click(function(){
  54. $("div:odd").css("background", "#bbffaa");
  55. });
  56. //6.选择索引值为大于 3 的 div 元素
  57. $("#btn6").click(function(){
  58. $("div:gt(3)").css("background", "#bbffaa");
  59. });
  60. //7.选择索引值为等于 3 的 div 元素
  61. $("#btn7").click(function(){
  62. $("div:eq(3)").css("background", "#bbffaa");
  63. });
  64. //8.选择索引值为小于 3 的 div 元素
  65. $("#btn8").click(function(){
  66. $("div:lt(3)").css("background", "#bbffaa");
  67. });
  68. //9.选择所有的标题元素
  69. $("#btn9").click(function(){
  70. $(":header").css("background", "#bbffaa");
  71. });
  72. //10.选择当前正在执行动画的所有元素
  73. $("#btn10").click(function(){
  74. $(":animated").css("background", "#bbffaa");
  75. });
  76. //11.选择没有执行动画的最后一个div
  77. $("#btn11").click(function(){
  78. $("div:not(:animated):last").css("background", "#bbffaa");
  79. });
  80. });
  81. </script>
  82. </head>
  83. <body>
  84. <input type="button" value="选择第一个 div 元素" id="btn1" />
  85. <input type="button" value="选择最后一个 div 元素" id="btn2" />
  86. <input type="button" value="选择class不为 one 的所有 div 元素" id="btn3" />
  87. <input type="button" value="选择索引值为偶数的 div 元素" id="btn4" />
  88. <input type="button" value="选择索引值为奇数的 div 元素" id="btn5" />
  89. <input type="button" value="选择索引值为大于 3 的 div 元素" id="btn6" />
  90. <input type="button" value="选择索引值为等于 3 的 div 元素" id="btn7" />
  91. <input type="button" value="选择索引值为小于 3 的 div 元素" id="btn8" />
  92. <input type="button" value="选择所有的标题元素" id="btn9" />
  93. <input type="button" value="选择当前正在执行动画的所有元素" id="btn10" />
  94. <input type="button" value="选择没有执行动画的最后一个div" id="btn11" />
  95. <h3>基本选择器.</h3>
  96. <br><br>
  97. <div class="one" id="one">
  98. id 为 one,class 为 one 的div
  99. <div class="mini">class为mini</div>
  100. </div>
  101. <div class="one" id="two" title="test">
  102. id为two,class为one,title为test的div
  103. <div class="mini" title="other">class为mini,title为other</div>
  104. <div class="mini" title="test">class为mini,title为test</div>
  105. </div>
  106. <div class="one">
  107. <div class="mini">class为mini</div>
  108. <div class="mini">class为mini</div>
  109. <div class="mini">class为mini</div>
  110. <div class="mini"></div>
  111. </div>
  112. <div class="one">
  113. <div class="mini">class为mini</div>
  114. <div class="mini">class为mini</div>
  115. <div class="mini">class为mini</div>
  116. <div class="mini" title="tesst">class为mini,title为tesst</div>
  117. </div>
  118. <div style="display:none;" class="none">style的display为"none"的div</div>
  119. <div class="hide">class为"hide"的div</div>
  120. <div>
  121. 包含input的type为"hidden"的div<input type="hidden" size="8">
  122. </div>
  123. <div id="mover">正在执行动画的div元素.</div>
  124. </body>
  125. </html>

内容过滤选择器

:contains(text) 匹配包含给定文本的元素
:empty 匹配所有不包含子元素或者文本的空元素
:parent 匹配含有子元素或者文本的元素
:has(selector) 匹配含有选择器所匹配的元素的元素

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>内容过滤选择器</title>
  6. <style type="text/css">
  7. div, span, p {
  8. width: 140px;
  9. height: 140px;
  10. margin: 5px;
  11. background: #aaa;
  12. border: #000 1px solid;
  13. float: left;
  14. font-size: 17px;
  15. font-family: Verdana;
  16. }
  17. div.mini {
  18. width: 55px;
  19. height: 55px;
  20. background-color: #aaa;
  21. font-size: 12px;
  22. }
  23. div.hide {
  24. display: none;
  25. }
  26. </style>
  27. <script type="text/javascript" src="jquery-1.7.2.js"></script>
  28. <script type="text/javascript">
  29. $(document).ready(function () {
  30. function anmateIt() {
  31. $("#mover").slideToggle("slow", anmateIt);
  32. }
  33. anmateIt();
  34. });
  35. $(document).ready(function () {
  36. //1.选择 含有文本 'di' 的 div 元素
  37. $("#btn1").click(function () {
  38. $("div:contains('di')").css("background", "#bbffaa");
  39. });
  40. //2.选择不包含子元素(或者文本元素) 的 div 空元素
  41. $("#btn2").click(function () {
  42. $("div:empty").css("background", "#bbffaa");
  43. });
  44. //3.选择含有 class 为 mini 元素的 div 元素
  45. $("#btn3").click(function () {
  46. $("div:has(.mini)").css("background", "#bbffaa");
  47. });
  48. //4.选择含有子元素(或者文本元素)的div元素
  49. $("#btn4").click(function () {
  50. $("div:parent").css("background", "#bbffaa");
  51. });
  52. });
  53. </script>
  54. </head>
  55. <body>
  56. <input type="button" value="选择 含有文本 'di' 的 div 元素" id="btn1"/>
  57. <input type="button" value="选择不包含子元素(或者文本元素) 的 div 空元素" id="btn2"/>
  58. <input type="button" value="选择含有 class 为 mini 元素的 div 元素" id="btn3"/>
  59. <input type="button" value="选择含有子元素(或者文本元素)的div元素" id="btn4"/>
  60. <br><br>
  61. <div class="one" id="one">
  62. id 为 one,class 为 one 的div
  63. <div class="mini">class为mini</div>
  64. </div>
  65. <div class="one" id="two" title="test">
  66. id为two,class为one,title为test的div
  67. <div class="mini" title="other">class为mini,title为other</div>
  68. <div class="mini" title="test">class为mini,title为test</div>
  69. </div>
  70. <div class="one">
  71. <div class="mini">class为mini</div>
  72. <div class="mini">class为mini</div>
  73. <div class="mini">class为mini</div>
  74. <div class="mini"></div>
  75. </div>
  76. <div class="one">
  77. <div class="mini">class为mini</div>
  78. <div class="mini">class为mini</div>
  79. <div class="mini">class为mini</div>
  80. <div class="mini" title="tesst">class为mini,title为tesst</div>
  81. </div>
  82. <div style="display:none;" class="none">style的display为"none"的div</div>
  83. <div class="hide">class为"hide"的div</div>
  84. <div>
  85. 包含input的type为"hidden"的div<input type="hidden" size="8">
  86. </div>
  87. <div id="mover">正在执行动画的div元素.</div>
  88. </body>
  89. </html>

属性过滤选择器

[attribute] 匹配包含给定属性的元素。
[attribute = value] 匹配给定的属性是某个特定值的元素
[attribute != value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素。
[attribute ^= value] 匹配给定的属性是以某些值开始的元素
[attribute $= value] 匹配给定的属性是以某些值结尾的元素
[attribute *= value] 匹配给定的属性是以包含某些值的元素
[attrSel1][attrSel2][attrselN] 复合属性选择器,需要同时满足多个条件时使用。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>属性过滤选择器</title>
  6. <style type="text/css">
  7. div,
  8. span,
  9. p {
  10. width: 140px;
  11. height: 140px;
  12. margin: 5px;
  13. background: #aaa;
  14. border: #000 1px solid;
  15. float: left;
  16. font-size: 17px;
  17. font-family: Verdana;
  18. }
  19. div.mini {
  20. width: 55px;
  21. height: 55px;
  22. background-color: #aaa;
  23. font-size: 12px;
  24. }
  25. div.hide {
  26. display: none;
  27. }
  28. </style>
  29. <script type="text/javascript" src="jquery-1.7.2.js"></script>
  30. <script type="text/javascript">
  31. /**
  32. [attribute]
  33. [attribute=value]
  34. [attribute!=value]
  35. [attribute^=value]
  36. [attribute$=value]
  37. [attribute*=value]
  38. [attrSel1][attrSel2][attrSelN]
  39. */
  40. $(function () {
  41. //1.选取含有 属性title 的div元素
  42. $("#btn1").click(function () {
  43. $("div[title]").css("background", "#bbffaa");
  44. });
  45. //2.选取 属性title值等于'test'的div元素
  46. $("#btn2").click(function () {
  47. $("div[title='test']").css("background", "#bbffaa");
  48. });
  49. //3.选取 属性title值不等于'test'的div元素(*没有属性title的也将被选中)
  50. $("#btn3").click(function () {
  51. $("div[title!='test']").css("background", "#bbffaa");
  52. });
  53. //4.选取 属性title值 以'te'开始 的div元素
  54. $("#btn4").click(function () {
  55. $("div[title^='te']").css("background", "#bbffaa");
  56. });
  57. //5.选取 属性title值 以'est'结束 的div元素
  58. $("#btn5").click(function () {
  59. $("div[title$='est']").css("background", "#bbffaa");
  60. });
  61. //6.选取 属性title值 含有'es'的div元素
  62. $("#btn6").click(function () {
  63. $("div[title*='es']").css("background", "#bbffaa");
  64. });
  65. //7.首先选取有属性id的div元素,然后在结果中 选取属性title值 含有'es'的 div 元素
  66. $("#btn7").click(function () {
  67. $("div[id][title*='es']").css("background", "#bbffaa");
  68. });
  69. //8.选取 含有 title 属性值, 且title 属性值不等于 test 的 div 元素
  70. $("#btn8").click(function () {
  71. $("div[title][title!='test']").css("background", "#bbffaa");
  72. });
  73. });
  74. </script>
  75. </head>
  76. <body>
  77. <input type="button" value="选取含有 属性title 的div元素." id="btn1" style="display: none" />
  78. <input type="button" value="选取 属性title值等于'test'的div元素." id="btn2" />
  79. <input type="button" value="选取 属性title值不等于'test'的div元素(没有属性title的也将被选中)." id="btn3" />
  80. <input type="button" value="选取 属性title值 以'te'开始 的div元素." id="btn4" />
  81. <input type="button" value="选取 属性title值 以'est'结束 的div元素." id="btn5" />
  82. <input type="button" value="选取 属性title值 含有'es'的div元素." id="btn6" />
  83. <input type="button" value="组合属性选择器,首先选取有属性id的div元素,然后在结果中 选取属性title值 含有'es'的 div 元素." id="btn7" />
  84. <input type="button" value="选取 含有 title 属性值, 且title 属性值不等于 test 的 div 元素." id="btn8" />
  85. <br />
  86. <br />
  87. <div class="one" id="one">
  88. id 为 one,class 为 one 的div
  89. <div class="mini">class为mini</div>
  90. </div>
  91. <div class="one" id="two" title="test">
  92. id为two,class为one,title为test的div
  93. <div class="mini" title="other">class为mini,title为other</div>
  94. <div class="mini" title="test">class为mini,title为test</div>
  95. </div>
  96. <div class="one">
  97. <div class="mini">class为mini</div>
  98. <div class="mini">class为mini</div>
  99. <div class="mini">class为mini</div>
  100. <div class="mini"></div>
  101. </div>
  102. <div class="one">
  103. <div class="mini">class为mini</div>
  104. <div class="mini">class为mini</div>
  105. <div class="mini">class为mini</div>
  106. <div class="mini" title="tesst">class为mini,title为tesst</div>
  107. </div>
  108. <div style="display: none" class="none">style的display为"none"的div</div>
  109. <div class="hide">class为"hide"的div</div>
  110. <div>
  111. 包含input的type为"hidden"的div<input type="hidden" value="123456789" size="8" />
  112. </div>
  113. <div id="mover">正在执行动画的div元素.</div>
  114. </body>
  115. </html>

表单过滤选择器