jquery层级选择器

层级选择器

层级共包括后代元素、子元素、相邻元素和同级元素四种。

后代选择器
后代选择器$(‘ancestor descendant’)选择给定的祖先元素的所有后代元素,并返回集合元素

<div id="test">
    <div>
        <div>1</div>
        <div>2</div>
    </div>
</div>
<script>
$('#test div').css('margin','10px');
console.log($('#test div').length);//3
</script>

对应DOM的getElement类方法

Array.prototype.forEach.call(document.getElementById('test').getElementsByTagName('div'),function(item,index,arr){
    item.style.margin = '10px';
});

或者使用querySelectorAll()方法

Array.prototype.forEach.call(document.querySelectorAll('#test div'),function(item,index,arr){
    item.style.margin = '10px';
});

子元素选择器

子元素选择器$(‘parent > child’)选择所有指定’parent’元素中指定的’child’的直接子元素,并返回集合元素

<div id="test">
    <div>
        <div>1</div>
        <div>2</div>
    </div>
</div>
<script>
$('#test > div').css('margin','10px');
console.log($('#test > div').length);//1
</script>

对应DOM的querySelectorAll()方法

Array.prototype.forEach.call(document.querySelectorAll('#test > div'),function(item,index,arr){
    item.style.margin = '10px';
});

一般兄弟选择器
一般兄弟选择器$(‘prev ~ siblings’)选择’prev’元素之后的所有同级的’siblings’元素,并返回集合元素

<ul>
    <li id="test">1</li>
    <li>2</li>
    <li>3</li>
</ul>
<script>
$('#test ~ li').css('color','red');
console.log($('#test ~ li').length);//2
</script>

对应DOM的querySelectorAll()方法

Array.prototype.forEach.call(document.querySelectorAll('#test ~ li'),function(item,index,arr){
    item.style.color = 'red';
});

相邻兄弟选择器
相邻兄弟选择器$(‘prev + next’)选择所有紧跟在’prev’元素后的’next’元素,并返回集合元素

<ul>
    <li id="test">1</li>
    <li>2</li>
    <li>3</li>
</ul>
<script>
$('#test + li').css('color','red');
console.log($('#test + li').length);//1
</script>

对应DOM的querySelectorAll()方法

Array.prototype.forEach.call(document.querySelectorAll('#test + li'),function(item,index,arr){
    item.style.color = 'red';
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值