最近写项目,有太多地方要用选择器,有时找一个选择器要选很久,恼火。特意写此文档,以便今后查阅。
官方文档 : https://jquery.cuishifeng.cn/index.html
基本选择器
① id选择器
$("#id")
② 标签选择器$("标签名")
③ class选择器$(".class")
④ 选择所有$("*")
⑤ 多类型选择器$("多类型,多类型,多类型")
你可以指定任意多个选择器,并将匹配到的元素合并到一个结果内。
层级选择器
匹配祖宗元素下
所有
的指定子元素 ——$(" 父 子")
匹配祖宗元素下
第一个
指定子元素 ——$("父 > 子")
匹配指定元素(第一个) 后
所有的指定元素(第二个)
——$("第一个 + 第二个")
匹配指定元素(第一个) 后
同级的指定元素(第二个)
——$("第一个 ~ 第二个")
基本筛选器
- 匹配到指定元素
本身的第一个
——$('指定元素:first');
- 匹配到指定元素
本身的最后一个
——$('指定元素:last');
- 匹配所有
未选中
的 指定元素 ——$("指定元素:not(:条件(可以填属性名))")
- 匹配所有指定到的
本身索引值为偶数
的元素,从 0 开始计数 ——$("指定元素:even")
- 匹配所有指定到的
本身索引值为奇数
的元素,从 0 开始计数 ——$("指定元素:odd")
- 匹配到指定元素的
元素索引
,从0开始计数 ——$("指定元素:eq(索引值)")
- 匹配所有
大于给定索引值
的元素,从0开始计数——$("指定元素:gt(索引值)")
- 匹配所有
小于给定索引值
的元素,从0开始计数——$("指定元素:lt(索引值)")
- 匹配所有的如 h1, h2, h3之类的
标题元素
——$(":header")
- 匹配所有
正在执行动画效果
的元素 ——$("指定元素:animated")
- 匹配当前
获取焦点
的元素。——$(:focus)
- 匹配该文档的
根元素
。 ——$(:root)
在HTML中,文档的根元素,和$(":root")选择的元素一样, 永远是html元素
内容选择器
- 匹配包含
给定文本
的元素 ——$("指定元素:contains('文本片段')")
- 匹配所有指定元素
不包含子元素或者文本
的空元素 ——$("指定元素:empty")
- 匹配
含有子元素或者文本
的元素 ——$("指定元素:parent")
- 匹配
指定元素(第一个) 所包含的 指定元素(第二个)
的元素 ——$("指定元素(第一个):has(指定元素(第二个))")
例:匹配所有包含 p 元素的 div 元素 $(“div:has§”)
可见选择器
- 匹配指定元素所有
不可见元素
,或者type为hidden的元素,或者style={display:none}的元素 ——$("指定元素:hidden")
- 匹配指定元素所有的
可见元素
——$("指定元素:visible")
属性选择器
- 匹配包含
给定属性
的元素。——$("指定元素[属性]")
- 匹配给定的
属性是某个特定值
的元素——$("指定元素[属性='属性值']")
- 匹配所有
不含有指定的属性,或者属性不等于特定值
的元素。 ——$("指定元素[属性!='属性值']")
等级于此选择器等价于 :not([attr=value])- 匹配给定的属性的
属性值是以 指定字的片段 开始
的元素 ——$("指定元素[属性^='值片段']")
- 匹配给定的属性的
属性值是以 指定字的片段 结束
的元素 ——$("指定元素[属性$='值片段']")
- 匹配给定的属性的
属性值是包含 指定字的片段
的元素 ——$("指定元素[属性*='值片段']")
- 复合属性选择器,需要
同时满足多个条件
时使用。 ——$("指定元素[属性条件1][属性条件2]。。。")
子元素选择器
- 匹配所给选择器( :之前的选择器)的
第一个
子元素 ——$("父元素 子元素:first-child")
- 匹配
指定元素的父类 下的指定该 元素的第一个指定元素
【有点乱 :: 结构化伪类,匹配E的父元素的第一个E类型的孩子】 ——$("指定元素:first-of-type");
- 匹配其父元素下的第N个子或奇偶元素 ——
$("父元素 子元素:nth-child(第几个)")
表单对象选择器
- 匹配所有选中的被选中元素(复选框、单选框等,select中的option),对于select元素来说,获取选中推荐使用 :selected ——
$("input:checked")
- 下拉框 匹配所有选中的option元素 ——
$("select option:selected")
示例
1. 给指定元素添加一个class类 .addClass(”类名“)
2. 给指定元素添加属性及属性值 .attr("checked", true);
3. 给指定属性添加css行内样式 .css({"属性":"值","属性":"值"});