强大的jQuery选择器
之说以说其强大:是因为jQuery实现了从CSS1到CSS3所有的选择器以及其他常用的选择器。
以下列出实际开发中比较常用的一些选择器,具体可以去官方文档查看。
基本选择器 | ||
符号(名称) | 说明 | 用法 |
# | id选择器 | $(“#btnShow”).css(“color”, “red”); 选择id为btnShow的一个元素(返回值为jQuery对象,下同) |
. | 类选择器 | $(“.liItem”).css(“color”, “red”); 选择含有类liItem的所有元素 |
element | 标签选择器 | $(“li”).css(“color”, “red”); 选择标签名为li的所有元素 |
层级选择器(重点)、基本过滤选择器 | ||
空格 | 后代选择器 | $(“#j_wrap li”).css(“color”, “red”); 选择id为j_wrap的元素的所有后代元素li |
> | 子代选择器 | $(“#j_wrap > ul > li”).css(“color”, “red”); 选择id为j_wrap的元素的所有子元素ul的所有子元素li |
基本过滤选择器 | ||
:eq(index) | 选择匹配到的元素中索引号为index的一个元素,index从0开始。 | $(“li:eq(2)”).css(“color”, ”red”); 选择li元素中索引号为2的一个元素 |
:odd | 选择匹配到的元素中索引号为奇数的所有元素,index从0开始 | $(“li:odd”).css(“color”, “red”); 选择li元素中索引号为奇数的所有元素 |
:even | 选择匹配到的元素中索引号为偶数的所有元素,index从0开始 | $(“li:even”).css(“color”, “red”); 选择li元素中索引号为偶数的所有元素 |
筛选选择器(方法) | ||
find(selector) | 查找指定元素的所有后代元素(子子孙孙) | $(“#j_wrap”).find(“li”).css(“color”, “red”); 选择id为j_wrap的所有后代元素li |
children() | 查找指定元素的直接子元素(亲儿子元素) | $(“#j_wrap”).children(“ul”).css(“color”, “red”); 选择id为j_wrap的所有子代元素ul |
siblings() | 查找所有兄弟元素(不包括自己) | $(“#j_liItem”).siblings().css(“color”, “red”); 选择id为j_liItem的所有兄弟元素 |
parent() | 查找父元素(亲的) | $(“#j_liItem”).parent(“ul”).css(“color”, “red”); 选择id为j_liItem的父元素 |
eq(index) | 查找指定元素的第index个元素,index是索引号,从0开始 | $(“li”).eq(2).css(“color”, “red”); 选择所有li元素中的第二个 |
jq中的操作方法:
一、jquery中的样式操作
1、样式属性操作 .css()
a,设置单个样式:
$(selector).css(“color”, “red”);
给jq对象selector设置文字颜色为红色,第一个参数为样式名称。第二个参数为样式属性值。
b,设置多个样式:
$(selector).css({“color”: “red”, “font-size”: “30px”});
注意点:参数为一个对象,样式值之间用“,”分开。
2、获取样式属性操作:
$(selector).css(“font-size”);
此时,会返回”font-size”样式属性对应的值。
二,类操作
需注意的地方,操作类样式,所有的类名都不带(.);方法名驼峰。
1,添加类样式。
addClass(className) 为指定元素添加类className.
$(selector).addClass(“liItem”);
2,移除类样式。
removeClass(className) 为指定元素移除类 className。
$(selector).removeClass(“liItem”);
$(selector).removeClass(); 不指定参数,表示移除被选中元素的所有类
3,判断有无类样式。
hasClass(calssName) 判断指定元素是否包含类 className
$(selector).hasClass(“liItem”);
true或false
4,切换类样式。
toggleClass(className) 为指定元素切换类 className,该元素有类则移除,没有指定类则添加。
$(selector).toggleClass(“liItem”);
开发中总结的经验:
1 操作的样式非常少,那么可以通过.css()这个 方法来操作
2 操作的样式很多,那么要通过使用类的方式来操作
待续............