2-2 jQuery选择器之类选择器
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery选择器之类选择器

类选择器,顾名思义,通过class样式类名来获取节点

描述:

$( ".class" )

类选择器,相对id选择器来说,效率相对会低一点,但是优势就是可以多选

同样的jQuery在实现上,对于类选择器,如果浏览器支持,jQuery使用JavaScript的原生getElementsByClassName()函数来实现的

右边实现一个原生getElementsByClassName()函数的实现代码与jQuery实现代码的比较

我们不难发现:

jQuery除了选择上的简单,而且没有再次使用循环处理

不难想到$(".imooc").css()方法内部肯定是带了一个隐式的循环处理,所以使用jQuery选择节点,不仅仅只是选择上的简单,同时还增加很多关联的便利操作,后续我们还会慢慢的学到其他的优势。

任务

在代码编辑器中第50行填写相应代码

$(".imooc")
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  5. <title></title>
  6. <style>
  7. div {
  8. width: 100px;
  9. height: 90px;
  10. float: left;
  11. padding: 5px;
  12. margin: 5px;
  13. background-color: #EEEEEE;
  14. }
  15. </style>
  16. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  17. </head>
  18. <body>
  19. <div class="aaron">
  20. <p>class="aaron"</p>
  21. <p>选中</p>
  22. </div>
  23. <div class="aaron">
  24. <p>class="aaron"</p>
  25. <p>选中</p>
  26. </div>
  27.  
  28. <div class="imooc">
  29. <p>class="imooc"</p>
  30. <p>jQuery选中</p>
  31. </div>
  32. <div class="imooc">
  33. <p>class="imooc"</p>
  34. <p>jQuery选中</p>
  35. </div>
  36.  
  37. <script type="text/javascript">
  38. //通过原生方法处理
  39. //样式是可以多选的,所以得到的是一个合集
  40. //需要通过循环给合集中每一个元素修改样式
  41. var divs = document.getElementsByClassName('aaron');
  42. for (var i = 0; i < divs.length; i++) {
  43. divs[i].style.border = "3px solid blue";
  44. }
  45. </script>
  46.  
  47. <script type="text/javascript">
  48. //通过jQuery直接传入class
  49. //class选择器可以选择多个元素
  50. ?.css("border", "3px solid red");
  51. </script>
  52.  
  53.  
  54. </body>
  55.  
  56. </html>
下一节