一、选择器
1、基础选择器
名称 | 用法 | 描述 |
---|---|---|
ID选择器 | $(“#id”); | 获取指定ID的元素 |
类选择器 | $(“.class”); | 获取同一类class的元素 |
标签选择器 | $(“div”); | 获取同一类标签的所有元素 |
并集选择器 | $(“div,p,li”); | 使用逗号分隔,只要符合条件之一就可。 |
交集选择器 | $(“div.redClass”); |
获取class为redClass的div元素 |
2.层级选择器
名称 | 用法 | 描述 |
---|---|---|
子代选择器 | $(“ul>li”); | 使用>号,获取儿子层级的元素,注意,并不会获取孙子层级的元素 |
后代选择器 | $(“ul li”); | 使用空格,代表后代选择器,获取ul下的所有li元素,包括孙子等 |
知识铺垫:
jQuery设置样式
$(‘div‘).css(‘属性‘,‘值‘)此处属性可为background等。
隐式迭代:
jQuery会将匹配到的所有元素内部进行遍历循环,因此如果想给四个盒子上色,只需要$(‘div‘).css(‘background‘,‘pink‘)就能给多个div盒子上色
3.筛选选择器
语法 | 用法 | 描述 |
:first | $("li:first") | 获取第一个li元素 |
:last | $("li:last") | 获取最后一个li元素 |
:eq(index) | $("li:eq(2)") | 获取到的li元素中,选择索引号为2的元素,索引号index从0开始 |
:odd | $("li:odd") | 获取到的li元素中,选择索引号为奇数的元素 |
:even | $("li:even") | 获取到的li元素中,选择索引号为偶数的元素 |
筛选方法
名称 | 用法 | 描述 |
---|---|---|
children(selector) | $(“ul”).children(“li”) | 相当于$(“ul>li”),子类选择器 |
find(selector) | $(“ul”).find(“li”); | 相当于$(“ul li”),后代选择器(儿子孙子) |
siblings(selector) | $(“#first”).siblings(“li”); | 查找兄弟节点,不包括自己本身。 |
parent() | $(“#first”).parent(); | 查找父亲(直系) |
eq(index) | $(“li”).eq(2); | 相当于$(“li:eq(2)”),index从0开始 |
next() | $(“li”).next() | 找下一个兄弟 |
nextAll([expr]) | 当前元素后所有同辈元素(不包括当前) | |
prev() | $(“li”).prev() | 找上一次兄弟 |
prevAll() | 当前元素前所有同辈元素(不包括当前) | |
hasClass | 判断是否有类名 |
其中eq,选择器时,若想使用变量做索引号格式为:
var index=2;
$("ur li:eq("+index+")")
作为方法时可直接替换数字:
$("ul li").eq(index)
4.排他思想
此处利用siblings()方法
1 <body> 2 <button>快速</button> 3 <button>快速</button> 4 <button>快速</button> 5 <button>快速</button> 6 <button>快速</button> 7 8 <script> 9 $(function () { 10 //1.隐式迭代,给所有按钮绑定点击事件 11 $("button").click(function () { 12 //2. 当前的元素变化背景颜色 13 $(this).css("background", "pink") 14 //3.其余的兄弟去掉背景颜色 15 $(this).siblings("button").css("background", "") 16 }) 17 }) 18 </script> 19 </body>
优化:链式编程——节省代码量,看起来更优雅
$(this).css("color","red").siblings().css("color","blue")
5.案例
淘宝服饰精品案例
css样式和图片需自行添加
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Document</title> 8 <script src="jquery.min.js"></script> 9 <script> 10 $(function () { 11 //1.鼠标经过左侧的小li 12 $("#left li").mouseover(function () { 13 //2.得到当前li索引号 14 var index = $(this).index(); 15 // console.log(index); 16 //3.让右侧的盒子相应索引号的图片显示出来,其余隐藏 17 $("#content div").eq(index).show(); 18 $("#content div").eq(index).siblings().hide(); 19 20 }) 21 22 }) 23 </script> 24 </head> 25 26 <body> 27 <div class="wrapper"> 28 <ul id="left"> 29 <li><a href="#">女靴</a></li> 30 <li><a href="#">雪地靴</a></li> 31 <li><a href="#">冬裙</a></li> 32 <li><a href="#">呢大衣</a></li> 33 <li><a href="#">毛衣</a></li> 34 <li><a href="#">棉裤</a></li> 35 <li><