jQuery高级选择器和其等价方法

jQuery选择器和css一样,但兼容性更好

<body>
    <p>p1</p>
    <p>p1</p>
    <p>p1</p>
    <div id="box">
        <p>p2</p>
        <p>p2</p>
        <p>p2</p>
        <div>
            <p>p3</p>
            <p>p3</p>
            <p>p4</p>
        </div>
    </div>
    <p>p4</p>
    <p>p4</p>
    <p>p4</p>
</body>

层次选择器:

$(function(){
    //后代选择器
    $('#box p').css('color','red');
    $('#box').find('p').css('color','blue');
    
    //子选择器
    $('#box > p').css('color','red');
    $('#box').children('p').css('color','blue');

    //next选择器,获取节点后一个同级DOM对象,如果不是所指定的没有效果
    $('#box + p').css('color','red');
    $('#box').next('p').css('color','blue');
    
    //nextAll,获取节点后所有同级DOM对象
    $('#box ~ p').css('color','red');
    $('#box').nextAll('p').css('color','blue');
});

jQuery方法对选择器的补充:

    //jQuery对高级选择器的补充,提供的几种方法
    //同级上指定元素:一个或所有个
    $('#box').prev('p').css('color','red');
    $('#box').prevAll('p').css('color','blue');
    //同级非指定元素:上或下
    $('#box').prevUntil('p').css('color','red');
    $('#box').nextUntil('p').css('color','blue');
    //同级指定元素:上和下
    $('#box').siblings('p').css('color','red');

注:1 方法如果不传参相当于*,表示任意,不建议使用

      2 方法相对高级选择器写法好一些:find()最快,可以拆分组合使用

    var box = $('#box');
    var p = box.find('p');

 

----------------------------------------------------------------------------------------------------------------------------------------------------------

 

属性选择器:

    <a sss="x" title="num1 aaa bbb">num1</a>
    <a>num2</a>
    <a>num3</a>
    <a>num4</a>
    <a sss="s" title="num5">num5</a>
    <a title="num-6">num6</a>
    <a title="nsdfnumsdf">num7</a>

 

    //属性浏览器
    $('a[title]').css('color','red');
    $('a[title=num1]').css('color','blue');
    $('a[title^=num]').css('color','red');
    $('a[title$=1]').css('color','blue');
    $('a[title|=num]').css('color','red');
    $('a[title!=num5]').css('color','blue');
    $('a[title~=aaa]').css('color','red');
    $('a[title*=num]').css('color','blue');
    $('a[sss][title=num5]').css('color','red');

转载于:https://www.cnblogs.com/by-dxm/p/6389071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值