当前位置:   article > 正文

Jquery选择器使用方法大全_jquery id选择器正确用法

jquery id选择器正确用法

  林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

       摘要:本文主要讲是Jquery中选择器的使用方法

一、基本选择器

1. id选择器(指定id元素)
将id="divOne"的元素背景色设置为红色。(id选择器返单个元素)

 $('#divOne').css('background', 'red');

2. class选择器(遍历css类元素)

将class="divTwo"的元素背景色设为蓝色

 $('.divTwo').css('background', 'blue');

3. element选择器(遍历html元素)
将p元素的文字设置为粉色

  $('p').css('color', 'pink');

4. * 选择器(遍历所有元素)

将ul下的所有元素字体设置成黄色

 $('ul *').css('color', 'yellow');
5. 并列选择器

将id = spanOne,class = 'pTwo' 的字体设置成蓝色

   $('#spanOne,.pTwo').css('color', 'blue');


整个效果如下:

示例代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="jquery-1.8.1.min.js">
  6. </script>
  7. </head>
  8. <body>
  9. <button id="buttonOne" style="width:100px; height:45px;">
  10. 点我改变颜色
  11. </button>
  12. <div id="divOne">
  13. 我是divOne
  14. </div>
  15. <div class="divTwo">
  16. 我是divTwo
  17. </div>
  18. <p>
  19. 我是段落一
  20. </p>
  21. <p>
  22. 我是段落二
  23. </p>
  24. <ul>
  25. <li>
  26. 序列一
  27. </li>
  28. <li>
  29. 序列二
  30. </li>
  31. <li>
  32. 序列三
  33. </li>
  34. </ul>
  35. <span id="spanOne">
  36. 并列一
  37. </span>
  38. <br>
  39. <p class="pTwo">
  40. 并列二
  41. </p>
  42. </body>
  43. <script type="text/javascript">
  44. /*
  45. *DOM加载完全成执行
  46. */
  47. $(function() {
  48. $('#buttonOne').click(function() {
  49. $('#divOne').css('background', 'red');
  50. $('.divTwo').css('background', 'blue');
  51. $('p').css('color', 'pink');
  52. $('ul *').css('color', 'yellow');
  53. $('#spanOne,.pTwo').css('color', 'blue');
  54. });
  55. });
  56. </script>
  57. </html>

这是还没改变之前的:


这是改变之后的:


二、 层次选择器

1. parent > child(直系子元素)

	  $('#divOne > p').css('color', 'blue');

下面的代码,只有外层段落的字体会改变颜色,里层不会,因为里层是属于divInner的直系元素
  1. <div id='divOne'>
  2. <p>
  3. 外层段落一
  4. </p>
  5. <p>
  6. 外层段落二
  7. </p>
  8. <p>
  9. 外层段落三
  10. </p>
  11. <div id='divInner'>
  12. <p>
  13. 里层段落一
  14. </p>
  15. <p>
  16. 里层段落二
  17. </p>
  18. <p>
  19. 里层段落三
  20. </p>
  21. </div>
  22. </div>

2. prev + next(下一个兄弟元素,等同于next()方法)
   $('#divTwo + ul').css('color', 'red');
下面的代码,只有序列2开头的会变色
  1. <div id='divTwo'>
  2. </div>
  3. <ul>
  4. <li>
  5. 序列1_1
  6. </li>
  7. <li>
  8. 序列1_2
  9. </li>
  10. <li>
  11. 序列1_3
  12. </li>
  13. </ul>
  14. <ul>
  15. <li>
  16. 序列2_1
  17. </li>
  18. <li>
  19. 序列2_2
  20. </li>
  21. <li>
  22. 序列2_3
  23. </li>
  24. </ul>


3. prev ~ siblings(prev元素的所有兄弟元素,等同于nextAll()方法)
    $('#divThree ~ span').css('color', 'red');

下面的代码,兄弟一到三会变色
  1. <div id = 'divThree'>
  2. </div>
  3. <span>兄弟一</span><br>
  4. <span>兄弟二</span><br>
  5. <span>兄弟三</span><br>

示例结果:

整个示例代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="jquery-1.8.1.min.js">
  6. </script>
  7. </head>
  8. <body>
  9. <button id="buttonOne" style="width:100px; height:45px;">
  10. 点我改变颜色
  11. </button>
  12. <div id='divOne'>
  13. <p>
  14. 外层段落一
  15. </p>
  16. <p>
  17. 外层段落二
  18. </p>
  19. <p>
  20. 外层段落三
  21. </p>
  22. <div id='divInner'>
  23. <p>
  24. 里层段落一
  25. </p>
  26. <p>
  27. 里层段落二
  28. </p>
  29. <p>
  30. 里层段落三
  31. </p>
  32. </div>
  33. </div>
  34. <div id='divTwo'>
  35. </div>
  36. <ul>
  37. <li>
  38. 序列1_1
  39. </li>
  40. <li>
  41. 序列1_2
  42. </li>
  43. <li>
  44. 序列1_3
  45. </li>
  46. </ul>
  47. <ul>
  48. <li>
  49. 序列2_1
  50. </li>
  51. <li>
  52. 序列2_2
  53. </li>
  54. <li>
  55. 序列2_3
  56. </li>
  57. </ul>
  58. <div id='divThree'>
  59. </div>
  60. <span>
  61. 兄弟一
  62. </span>
  63. <br>
  64. <span>
  65. 兄弟二
  66. </span>
  67. <br>
  68. <span>
  69. 兄弟三
  70. </span>
  71. <br>
  72. </body>
  73. <script type="text/javascript">
  74. /*
  75. *DOM加载完全成执行
  76. */
  77. $(function() {
  78. $('#buttonOne').click(function() {
  79. $('#divOne > p').css('color', 'blue');
  80. $('#divTwo + ul').css('color', 'red');
  81. $('#divThree ~ span').css('color', 'red');
  82. });
  83. });
  84. </script>
  85. </html>

改变之前:


改变之后:


三、 过滤选择器

1. 基本过滤选择器
——1.1 :first和:last(取第一个元素或最后一个元素)

  1. $('#divOne ul li :first').css('color', 'red');
  2. $('#divOne ul li :last').css('color', 'blue');
下面的代码,序列1_1(first元素)和序列1_3(last元素)会变色

  1. <div id = 'divOne'>
  2. <ul>
  3. <li>序列1_1</li>
  4. <li>序列1_2</li>
  5. <li>序列1_3</li>
  6. </ul>
  7. </div>

——1.2 :not(取非元素)

  1. <div id = 'divTwo'>我是divTwo</div>
  2. <div class = 'divThree'>我是divThree</div>

下面的代码,divTwo和divThree会变色

  1. <div id = 'divOne'>
  2. <ul>
  3. <li>序列1_1</li>
  4. <li>序列1_2</li>
  5. <li>序列1_3</li>
  6. </ul>
  7. </div>
  8. <div id = 'divTwo'>我是divTwo</div>
  9. <div class = 'divThree'>我是divThree</div>
——1.3 :even和:odd(取偶数索引或奇数索引元素,索引从0开始,even表示偶数,odd表示奇数)
  1. $('tr:even').css('background', 'red'); // 偶数行颜色
  2. $('tr:odd').css('background', 'blue'); // 奇数行颜色

偶数行行颜色为红色(第一行的索引为0),奇数为蓝色
  1. <table border="1">
  2. <tr>
  3. <th>Month</th>
  4. <th>Savings</th>
  5. <th>Name</th>
  6. </tr>
  7. <tr>
  8. <td>January</td>
  9. <td>$100</td>
  10. <td>LinBingWen</td>
  11. </tr>
  12. <tr>
  13. <td>Feb</td>
  14. <td>$200</td>
  15. <td>test</td>
  16. </tr>
  17. <tr>
  18. <td>Jna</td>
  19. <td>$2300</td>
  20. <td>kkk</td>
  21. </tr>
  22. </tr>
  23. <tr>
  24. <td>Nev</td>
  25. <td>$800</td>
  26. <td>cdf</td>
  27. </tr>
  28. </tr>
  29. <tr>
  30. <td>few</td>
  31. <td>$300</td>
  32. <td>ggg</td>
  33. </tr>
  34. </tr>
  35. <tr>
  36. <td>Oct</td>
  37. <td>$300</td>
  38. <td>ccc</td>
  39. </tr>
  40. </table>

——1.4 :eq(x) (取指定索引的元素)

	 $('tr:eq(2)').css('background', 'yellow');//表格第二行变色

更改第二行的背景色为黄色


——1.5 :gt(x)和:lt(x)(取大于x索引或小于x索引的元素)
  1. $('#divFour ul li:gt(2)').css('color', 'red');
  2. $('#divFour ul li:lt(2)').css('color', 'blue');

序列4_0到4_1是红色,4_3到4_4为蓝色

  1. <span id = 'divFour'>
  2. <ul>
  3. <li>序列4_0</li>
  4. <li>序列4_1</li>
  5. <li>序列4_2</li>
  6. <li>序列4_3</li>
  7. <li>序列4_4</li>
  8. </ul>
  9. </span>

——1.6 :header(取H1~H6标题元素)

	 $(':header').css('background', 'pink');

下面的代码,H1~H6的背景色都会成粉色
  1. <h1>H1</h1>
  2. <h2>H2</h2>
  3. <h3>H3</h3>
  4. <h4>H4</h4>
  5. <h5>H5</h5>
  6. <h6>H6</h6>
上面的整个代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="jquery-1.8.1.min.js"></script>
  6. </head>
  7. <body>
  8. <button id = "buttonOne" style = "width:100px; height:45px;">点我改变颜色</button>
  9. <div id = 'divOne'>
  10. <ul>
  11. <li>序列1_1</li>
  12. <li>序列1_2</li>
  13. <li>序列1_3</li>
  14. </ul>
  15. </div>
  16. <div id = 'divTwo'>我是divTwo</div>
  17. <div class = 'divThree'>我是divThree</div>
  18. <table border="1">
  19. <tr>
  20. <th>Month</th>
  21. <th>Savings</th>
  22. <th>Name</th>
  23. </tr>
  24. <tr>
  25. <td>January</td>
  26. <td>$100</td>
  27. <td>LinBingWen</td>
  28. </tr>
  29. <tr>
  30. <td>Feb</td>
  31. <td>$200</td>
  32. <td>test</td>
  33. </tr>
  34. <tr>
  35. <td>Jna</td>
  36. <td>$2300</td>
  37. <td>kkk</td>
  38. </tr>
  39. </tr>
  40. <tr>
  41. <td>Nev</td>
  42. <td>$800</td>
  43. <td>cdf</td>
  44. </tr>
  45. </tr>
  46. <tr>
  47. <td>few</td>
  48. <td>$300</td>
  49. <td>ggg</td>
  50. </tr>
  51. </tr>
  52. <tr>
  53. <td>Oct</td>
  54. <td>$300</td>
  55. <td>ccc</td>
  56. </tr>
  57. </table>
  58. <span id = 'divFour'>
  59. <ul>
  60. <li>序列4_0</li>
  61. <li>序列4_1</li>
  62. <li>序列4_2</li>
  63. <li>序列4_3</li>
  64. <li>序列4_4</li>
  65. </ul>
  66. </span>
  67. <h1>H1</h1>
  68. <h2>H2</h2>
  69. <h3>H3</h3>
  70. <h4>H4</h4>
  71. <h5>H5</h5>
  72. <h6>H6</h6>
  73. </body>
  74. </body>
  75. <script type="text/javascript">
  76. /*
  77. *DOM加载完全成执行
  78. */
  79. $(function() {
  80. $('#buttonOne').click(function(){
  81. $('#divOne ul li :first').css('color', 'red');
  82. $('#divOne ul li :last').css('color', 'blue');
  83. $('div:not(#divOne)').css('background', 'yellow');
  84. $('tr:even').css('background', 'red'); // 偶数行颜色
  85. $('tr:odd').css('background', 'blue'); // 奇数行颜色
  86. $('tr:eq(2)').css('background', 'yellow');//表格第二行变色
  87. $('#divFour ul li:gt(2)').css('color', 'red');
  88. $('#divFour ul li:lt(2)').css('color', 'blue');
  89. $(':header').css('background', 'pink');
  90. });
  91. });
  92. </script>
  93. </html>

原始效果:


选择后效果:


2. 内容过滤选择器
——2.1 :contains(text)(取包含text文本的元素)
     $('#divOne span:contains("兄弟1_1")').css('color', 'red');

下面的代码,兄弟1_1会变色
  1. <div id = 'divOne'>
  2. <span>兄弟1_1</span><br>
  3. <span>兄弟1_2</span><br>
  4. <span>兄弟1_3</span><br>
  5. </div>

——2.2 :empty(取不包含子元素或文本为空的元素)
	 $('#divTwo span:empty').html('没有内容').css('color', 'red');

下面第span显示"没有内容"文本

  1. <div id = 'divTwo'>
  2. <span></span><br>
  3. <span></span><br>
  4. <span></span><br>
  5. </div>

——2.3 :has(selector)(取选择器匹配的元素)

     $('#divThree:has(h1)').css('border', '1px solid #000');	  // 为包含h1元素的div添加边框

为包含h1元素的div添加边框

  1. <div id = 'divThree'>
  2. <h1>我是标题一</h1>
  3. </div>

——2.4 :parent(取包含子元素或文本的元素)

	 $('ol li:parent').css('border', '1px solid #000');

下面的代码,序列1和序列2所在的li会有边框

  1. <ol>
  2. <li>序列1</li>
  3. <li></li>
  4. <li></li>
  5. <li>序列2</li>
  6. </ol>

整个代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="jquery-1.8.1.min.js"></script>
  6. </head>
  7. <body>
  8. <button id = "buttonOne" style = "width:100px; height:45px;">点我改变颜色</button>
  9. <div id = 'divOne'>
  10. <span>兄弟1_1</span><br>
  11. <span>兄弟1_2</span><br>
  12. <span>兄弟1_3</span><br>
  13. </div>
  14. <div id = 'divTwo'>
  15. <span></span><br>
  16. <span></span><br>
  17. <span></span><br>
  18. </div>
  19. <div id = 'divThree'>
  20. <h1>我是标题一</h1>
  21. </div>
  22. <ol>
  23. <li>序列1</li>
  24. <li></li>
  25. <li></li>
  26. <li>序列2</li>
  27. </ol>
  28. </body>
  29. <script type="text/javascript">
  30. /*
  31. *DOM加载完全成执行
  32. */
  33. $(function() {
  34. $('#buttonOne').click(function(){
  35. $('#divOne span:contains("兄弟1_1")').css('color', 'red');
  36. $('#divTwo span:empty').html('没有内容').css('color', 'red');
  37. $('#divThree:has(h1)').css('border', '1px solid #000'); // 为包含h1元素的div添加边框
  38. $('ol li:parent').css('border', '1px solid #000');
  39. });
  40. });
  41. </script>
  42. </html>

原始内容:


点击后的:


3. 可见性过滤选择器
——3.1 :hidden(取不可见的元素)

jQuery至1.3.2之后的:hidden选择器仅匹配display:none或<input type="hidden" />的元素,而不匹配visibility: hidden或opacity:0的元素。这也意味着hidden只匹配那些“隐藏的”并且不占空间的元素,像visibility:hidden或opactity:0的元素占据了空间,会被排除在外。

——3.2 :visible(取可见的元素)
示例代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="jquery-1.8.1.min.js"></script>
  6. </head>
  7. <body>
  8. <button id = "buttonOne" style = "width:100px; height:45px;">点我改变颜色</button>
  9. <div class="div-1" style = 'display: none'></div>
  10. <div class="div-2" ></div>
  11. <input type="hidden" value="hello"/>
  12. </body>
  13. <script type="text/javascript">
  14. /*
  15. *DOM加载完全成执行
  16. */
  17. $(function() {
  18. $('#buttonOne').click(function(){
  19. $('div:visible').css({'background':'blue','height':'20px'});
  20. $('div:hidden').show().css({'background':'red','height':'20px'});
  21. alert($('input:hidden').val());
  22. });
  23. });
  24. </script>
  25. </html>
原始:


点击后:


4. 属性过滤选择器
——4.1 [attribute](取拥有attribute属性的元素)

将有title元素的span设置背景色为篮色

   $('span[title]').css('background','blue');

——4.2 [attribute = value]和[attribute != value](取attribute属性值等于value或不等于value的元素)

 $('span[title = test3]').css('background','red');

将将有title=‘test3’元素的span设置背景色为红色

整个代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="jquery-1.8.1.min.js"></script>
  6. </head>
  7. <body>
  8. <button id = "buttonOne" style = "width:100px; height:45px;">点我改变颜色</button>
  9. <div id = 'divOne'>
  10. <span title ="test1">兄弟1_1</span><br>
  11. <span title ="test2">兄弟1_2</span><br>
  12. <span title ="test3">兄弟1_3</span><br>
  13. </div>
  14. </body>
  15. <script type="text/javascript">
  16. /*
  17. *DOM加载完全成执行
  18. */
  19. $(function() {
  20. $('#buttonOne').click(function(){
  21. $('span[title]').css('background','blue');
  22. $('span[title = test3]').css('background','red');
  23. });
  24. });
  25. </script>
  26. </html>

原效果:


点击后:


声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号