jQuery九种选择器学习笔记
1.基本选择器
id选择器、标签选择器、类选择器、通用选择器、并集选择器
1、#id , 根据给定的ID匹配一个元素。id选择器
如果选择器中包含特殊字符,可以用两个斜杠转义。
//HTML 代码:
<div id="notMe"><p>id="notMe"</p></div>
<div id="myDiv">id="myDiv"</div>
//jQuery 代码:
$("#myDiv");
//HTML 代码:
<span id="foo:bar"></span>
<span id="foo[bar]"></span>
<span id="foo.bar"></span>
//jQuery 代码:
console.log($("#foo\\:bar"))
console.log($("#foo\\[bar\\]"))
console.log($("#foo\\.bar"))
2.element ,根据给定的元素名匹配所有元素 标签选择器
//HTML 代码:
<div>DIV1</div>
<div>DIV2</div>
<span>SPAN</span>
//jQuery 代码:
$("div");
3. .class 根据给定的类匹配元素。类选择器
//HTML 代码:
<div class="notMe">div class="notMe"</div>
<div class="myClass">div class="myClass"</div>
<span class="myClass">span class="myClass"</span>
//jQuery 代码:
$(".myClass");
4. * 匹配所有元素 通用选择器
//HTML 代码:
<div>DIV</div>
<span>SPAN</span>
<p>P</p>
//jQuery 代码:
$("*")
5.selector1,selector2,selectorN 将每一个选择器匹配到的元素合并后一起返回。并集选择器
//HTML 代码:
<div>div</div>
<p class="myClass">p class="myClass"</p>
<span>span</span>
<p class="notMyClass">p class="notMyClass"</p>
//jQuery 代码:
$("div,span,p.myClass")
2.层级选择器
祖先后代、父子选择器、相邻选择器、兄弟选择器
1.ancestor descendant 祖先后代选择器
在给定的祖先元素下匹配所有的后代元素
2.parent > child 父子选择器
在给定的父元素下匹配所有的子元素
3.prev + next 相邻选择器
匹配所有紧接在 prev 元素后的 next 元素
4. prev~siblings 兄弟选择器
匹配 prev 元素的所有同辈 siblings 元素
3.基本过滤选择器
基本上都是基于结果集进行的过滤 (学习侧重点)
这些选择器必须写在核心函数的字符串里面 ,基本上都是针对于结果集的操作
1 :first 获取第一个元素
获取到所有的元素,然后从这个结果中获取第一个。
它和first-child是不同的,first-child是父元素的第一个子元素; :first是结果集里面的第一个
2. :last 获取最后个元素
3. :not(selector) 去除所有与给定选择器匹配的元素
4. :even 匹配所有索引值为偶数的元素
从 0 开始计数
5. :odd 匹配所有索引值为奇数的元素
从 0 开始计数
6. :eq(index) 匹配一个给定索引值的元素
7. :gt(index) 匹配所有大于给定索引值的元素
8. :lt(index) 匹配所有小于给定索引值的元素
9. :header 匹配如 h1, h2, h3之类的标题元素
10. :animated 匹配所有正在执行动画效果的元素
11. :focus 匹配当前获取焦点的元素
12. :root 选择该文档的根元素(感觉无用)
4. 内容选择器
根据标签的内容进行元素选择。
1. :contains(text) 匹配包含给定文本的元素
2. :empty 匹配所有不包含子元素或者文本的空元素
3. :has(selector) 匹配含有选择器所匹配的元素的元素
4. :parent 匹配含有子元素或者文本的元素
5.可见性选择器
选择页面的可见元素和不可见元素。
1. : hidden 匹配所有不可见元素
type为hidden的元素,display:none;head ,meta, title,script等
2.: visible 匹配所有的可见元素
opacity: 0;visibility: hidden;都为可见元素,还有html和body
6.属性选择器
1.[attribute] 匹配包含给定属性的元素。
2.[attribute=value] 匹配给定的属性是某个特定值的元素
3.[attribute!=value]
匹配所有不含有指定的属性,或者属性不等于特定值的元素。
4.[attribute^=value] 匹配给定的属性是以某些值开始的元素
5.[attribute$=value] 匹配给定的属性是以某些值结尾的元素
6.[attribute=value] 匹配给定的属性是以包含某些值的元素*
7.[attrSel1][attrSel2][attrSelN] 复合属性选择器,需要同时满足多个条件时使用。
7.子元素选择器
1.:first-child 匹配第一个子元素
2.:first-of-type 选择所有相同的元素名称的第一个兄弟元素。
3.:last-child 匹配最后一个子元素
4.:last-of-type
选择的所有元素之间具有相同元素名称的最后一个兄弟元素。
5.:nth-child 匹配其父元素下的第N个子或奇偶元素
6.:nth-last-child(n|even|odd|formula)
选择所有他们父元素的第n个子元素。计数从最后一个元素开始到第一个。
8.表单选择器
1.:input 匹配所有 input, textarea, select 和 button 元素
2. :text 匹配所有的单行文本框 [type=text]
3. :password 匹配所有密码框
4.:radio 匹配所有单选按钮
5. :checkbox 匹配所有复选框
6.:submit 匹配所有提交按钮 [type=submit]的按钮元素
7.:image 匹配所有图像域
8.:reset 匹配所有重置按钮 [type=reset]的按钮元素
9.:button 匹配所有按钮
9.表单属性选择器
根据表单控件属性进行选择
1. :enabled 匹配所有可用元素
2. :disabled 匹配所有禁用元素
3. :checked 匹配所有选中的被选中元素
4. :selected 匹配所有选中的option元素