jquery中的选择器用法与归类

目录

选择器

基本选择器

层次选择器

 过滤器

基本过滤器

内容过滤器

可见性过滤器

 属性过滤器

后代过滤器

表单过滤选择器


选择器

基本选择器

 通配符选择器 *$("*")选取所有元素
id选择器 #id$("#one")选取id为one的元素
类选择器 .class$(".two")选取所有class为two的元素
标签选择器标签名$("p")选取所有<p>标签
群组选择器 #one,.two$("#one,.two") 选取id为one和class为two的元素
复合选择器 div.one 取交集$(".one")选取div中class为one的元素

层次选择器

后代选择器$(div span) 选取<div>中所有的<span>元素
子代选择器$(div>span) 选取<div>元素下元素名为<span>的子元素
兄弟选择器$('.one + div')选取class为one的下一个<div>元素(.one与div是兄弟)
兄弟选择器$('.one ~ div')选取class为one的元素后面的所有<div>兄弟元素

 过滤器

主要是通过特定的过滤规则来筛选出所需要的DOM元素,过滤规则与css中的伪类选择器语法相同,即 选择器都以冒号开头.

基本过滤器

:first选取第一个元素$('.outer:first') 选取第一个class为one中的第一个元素(只返回第一个class为one的第一个元素)
:last   选取最后一个元素$('.outer:last') 选取最后一个class为one中的最后一个元素
:even  选取索引是偶数的所有元素,索引从0开始$('p:even')选取索引为偶数的<p>元素
:odd   选取索引是奇数的所示元素, 索引从0开始$('p:odd')选取索引为奇数数的<p>元素
:eq(index)获取索引为index的元素$('p:eq(3)')选取索引为3的<p>元素
:lt(num)  选取索引大于index的元素$('p:lt(3)')选取索引小于3的<p>元素
:gt(num)  /选取索引小于index的元素$('p:lt(3)')选取索引大于3的<p>元素
:not(sleector2)去除所有与给定选择器匹配的元素$(input:not(.one))选取class不是one的<input>元素
:header  选取所有h1-h6标题$(:header)选取网页中所有标题元素


案例:选取索引大于2 小于5的元素

   var $temp=$('p:lt(5):gt(2)');


内容过滤器

:contains(text)
            选择文本中包含"text"的元素


<body>
	<div>one</div>
	<div>two</div>
	<div>three</div>
	<div>hello <p>world</p></div>
	<div></div>
<script>
    var $temp=$('div:contains("e")');
    console.log($temp);
</script>
</body>

selector:empty
            选择没有内容页或者没有子元素

var $temp=$('div:empty');
console.log($temp);

selector:parent
            选择非空元素,有内容或者有子元素

var $temp=$('div:parent');
console.log($temp);

 selector:has(选择器)
            选取含有选择器所匹配的元素的元素

var $temp=$('div:has(p)');
console.log($temp);

 

可见性过滤器

 :hidden

选择不占据屏幕空间的选择,即body体中不占据屏幕空间

 css或html属性有如下设置:

 display:none
 input type="hidden"

 :visible

选择占据屏幕空间的元素

visibility:hidden
 opacity:0

 属性过滤器

[attrKey]  有某个属性名的元素被选中$('body *[title]') 选择拥有title属性的元素
[attrKey=attrVal]选中这个属性并且属性值等于value$('p[title=one]') 选择属性值等于one的元素
[attrKey^=attrVal] 选择这个属性并且属性值以attrVal开始$('p[title^=t]') 选择属性以t开头的元素
[attrKey$=attrVal] 选择这个属性并且属性值以attrVal结束$('p[title$=e]')选择属性以e结尾的元素
[attrKey*=attrVal]选择这个属性并且属性值中包含atttrVal$('p[title*=h]')选择属性包含h的元素
[attrKey!=attrVal]选择这个属性并且属性值不等于attrVal或者没有属性值的元素。$('p[title!=one]')选择属性值不等于one,或者没有tittle属性的

      **:上面测试的html代码如下:

<body>
	<p title='one'>one</p>
	<p title='two'>two</p>
	<p title='three'>three</p>
	<p>four</p>
	<div title="one">divOne</div>
</body>

后代过滤器

:first-child    获取每个父元素中的第一个孩子节点$('.outer *:first-child') 匹配class为outer下的第一个子元素
 :last-child 获取每个父元素中最后一个孩子节点$('.outer *:last-child') 匹配class为outer下的最后一个子元素
 :nth-child(index) 获取每个父元素中的第index个孩子节点 index从1开始$('.outer *:nth-child(2)')匹配outer下索引为2的元素
 :only-child 获取每个父元素中的独生子元素$('.outer *:only-child')匹配outer下独生子元素(即outer中只有一个子元素)
 :last-of-type 获取每个父元素中每中类型中的最后一个元素$('.outer *:last-of-type')匹配outer下每种类型的最后一个元素,如果outer只有一个子元素则和only-child等价

     **:后代选择器是可以不断往下追溯只要满足条件的,而基本过滤器中:first、:last、eq(index)中只返回单个元素。

表单过滤选择器

表单属性

:enabled  选取所有可用元素$(form:enabled) 选择form表单下所有可用元素
 :disabled   选取所有不可用元素$(form:disabled) 选择form表单下所有不可用元素
 :checked 选取所有被选中的元素(单选框、复选框)$(input:checked)选取input中被选中的元素
 :selected   选取所有被选中的选项元素(下拉列表)$(select:selected)选择下拉列表中被选中的元素
 :input选取所有可输入与可选择的元素(input、textarea、select、button)$(from:input)选取form表单中可输入与可选择的元素(input、textarea、select、button)
 :text   选取所有单行文本框$('input:text')选取所有单行文本框
 :password   选取所有的密码框$('input:password')选取所有密码框
 :radio  

 选取所有的多选框

$('input:radio')选取所有单选框
 :checkbox 选取所有的多选框$('input:checkbox')选取所有复选框
:submit   选取所有提交按钮$('input:submit')选取所有input中type等于‘submit’
 :image   选取所有图片按钮$('input:image')选取input中type等于‘image’
 :reset   选取所有的重置按钮$('input:reset')选取input中type等于‘reset’
:button 选取所有的按钮$('input:button')选取input中type等于‘button’的元素
:file 选取所有的上传域$(input:submit)选取input中type为file的元素


             
             
                
                
               
                  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值