元素内的元素 子节点选择器 的直接子节点的元素,非直接子节点的元素将不会被选择到 1. 基础过滤符:
除了支持传统的css选择器,Jquery还支持CSS3选择功能。
$("p > a") 选择元素
特性选择器
特性选择器在匹配的选择元素上过滤满足某特性(属性)的元素
如我们需要做如下的选择:匹配所有指向本网站之外地址的链接,我们可以这样选择
$("a[href^=http://") 该选择器选择具有href属性,且href属性值以http://开始的链接元素
特性选择的语法是:
选择具有某特性(属性)的元素
form[method]
选择具有某特性,且属性值为指定值的元素
input[type=text]
选择匹配特性以特定字符开头的元素
div[title^=my] ——选择匹配title特性值已my开头的所有div元素
选择匹配特性以特定字符结束的元素
a[href$=.pdf] ——选择引用了pdf文件的所有链接元素
其他
a[href*=jquery.com]选择引用jQuery网站的所有链接元素
过滤符
通过过滤符选择器可以在已选择的元素中过滤出需要的元素,上面的特性选择器也属于过滤符,另外还有“:”字符
如:
li:has(a)—— 选择匹配包含元素的所有
:first:匹配多个对象中的第一个对象
:last:匹配多个对象中的最后一个对象
:not(selector):匹配去除了not后面选择符中内容的项,not中的selector只能是过滤选择器,不能是查找选择器
:even:匹配所有对象中的第偶数个
:odd:匹配所有对象中的第奇数个
:eq(index):匹配某一下表的单独某元素
:gt(index):匹配大于某一下标的所有元素
:lt(index):匹配小于某一下标的所有元素
:header:匹配所有的header元素,例如h1,h2,h3,h4,h5,h6
:animated:匹配所有有动画效果的元素
2. 内容过滤符:
:contains(text):匹配内部拥有该文本元素的对象,包含间接有用的情况
:empty:匹配所有没有子元素的对象
:has(selector):匹配所有至少含有一个子选择符的对象
:parent:匹配元素,这些元素包含子元素(包括文本元素)
3. 可见性过滤符:
:hidden:匹配所有隐藏对象,或者input中的hidden类型
:visible:匹配所有可见的对象
4. 子过滤符:
:nth-child(index/even/odd/equation):匹配子元素中的某一下标/偶数/奇数/等式的对象,:eq(index)只能匹配某单一对象的子元素特征,而这个方法可以匹配多个对象的某一子元素共同特征 nth-child过滤器,从1开始计数,这主要是与css标准兼容。
:first-child:匹配第一个子元素
:last-child:匹配最后一个子元素
这两个匹配符也可以对多个父对象的所有子元素进行匹配操作
:only-child:如果一个父元素只有一个子元素,就匹配这个子元素
5. 表单过滤符
:input :匹配表单内input元素
:text :匹配表单内input type为text的元素
:password :匹配表单内input type为password的元素
:radio :匹配表单内input type为radio的元素
:checkbox :匹配表单内input type为checkbox的元素
:submit :匹配表单内input type为submit的元素
:image :匹配表单内image的元素
:reset :匹配表单内input type为reset的元素
:button :匹配表单内input type为button的元素
:file :匹配表单内input type为file的元素.
:hidden :匹配表单内input type为hidden的元素或者hidden区域
:enabled :匹配所有启用元素
:disabled :匹配所有非启用元素
:checked :匹配所有选中元素
:selected :匹配所有下拉列表选中元素
검색 선택기와 필터 선택기의 개념적 차이
jQuery를 유연하게 사용하기 위해서는 검색 선택기와 필터 선택기의 차이점을 이해하는 것이 매우 중요합니다. 하위 선택기(공백), 하위 노드 선택기(>) 및 형제와 같은 요소(예: 필터 속성 또는 기타 관련 값)에 더 높은 선택 기준을 적용하여 일치되는 요소 집합의 범위를 좁히는 필터 선택기 선택기( ) 등은 일치하는 요소에 기준을 적용하여 일치 범위를 제한하는 대신 선택한 요소와 어느 정도 관계가 있는 다른 요소를 찾습니다.