美文网首页我爱编程
初识jQuery之jQuery-Dom操作和数据操作(四)

初识jQuery之jQuery-Dom操作和数据操作(四)

作者: Welkin_qing | 来源:发表于2018-07-26 12:20 被阅读11次

    一、Dom操作

    1.parents() :获取当前元素的所有祖先节点,参数就是筛选功能;

    2.closest() : 获取最近的指定的祖先节点(包括当前元素自身),必须要写筛选的参数,只能找到一个元素

    <script>
    
    $(function(){
        
        $('#div2').parents('.box').css('background','red');
        //body会变红
        $('#div2').closest('.box').css('background','red');
        //只有div2变红
    });
    </script>
    <body class="box">
    <div id="div1">aaa
        <div id="div2" class="box">bbb</div>
    </div>
    </body>
    

    3.siblings()、nextAll()和prevAll()

    siblings() : 找所有的兄弟节点,参数是筛选功能

    nextAll() : 下面所有的兄弟节点,参数是筛选功能

    prevAll() : 上面所有的兄弟节点,参数是筛选功能

    4.Until()、parentsUntil()和nextUntil(),prevUntil

    Until() : 截止,参数指定截止位置,不包括自身

    <script>
    
    $(function(){
        
        $('span').nextUntil('h2').css('background','red');
        
    });
    
    </script>
    <body>
    <div>div</div>
    <span>span</span>
    <p>p</p>
    <h1>h1</h1>
    <h2>h2</h2>
    <em>em</em>
    </body>
    

    结果:


    image.png

    二、Dom操作和数据操作

    1.clone() : 可以接收一个参数 ,作用可以复制之前的操作行为

    $(function(){
        
        $('div').click(function(){
            alert(123);
        });
        
        $('div').clone(true).appendTo( $('span') );
        //点击新生成的div会有123弹出
    });
    <body>
    <div>div</div>
    <span>span</span>
    </body>
    

    结果:


    image.png

    注意:clone(true)使克隆版也具有原版的操作

    2.wrap() : 包装

    wrapAll() : 整体包装

    wrapInner() : 内部包装

    unwrap() : 删除包装 ( 删除父级 : 不包括body )

    wrapInner()性质:

    <body>
    $(function(){
        
        $('span').wrapInner('<div>');
        
        
    });
    <span>span</span>
    <div>
        <span>span</span>
    </div>
    <span>span</span>
    
    </body>
    

    结果:

    wrapInner

    unwrap()性质:

    $(function(){
        
        $('span').unwrap();
        
    });
    

    结果:


    unwrap

    3.add():对节点添加组合的一种方法

    <script>
    
    
    
    $(function(){
        
        var elem = $('div');
        
        var elem2 = elem.add('span');
        
        elem.css('color','red');
        elem2.css('background','yellow');
        //div和span背景都变黄
    });
    
    </script>
    <body>
    <div>div</div>
    <span>span</span>
    </body>
    

    4.slice():截取数组的范围

    <body>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    </body>
    $('li').slice(1,4).css('background','red');
    //使1到3的li都变红
    

    注意:第二个参数表示截止前

    serialize()和serializeArray():对数据进行数据化串联,解析操作

    <script>
    $(function(){
        
        console.log($('form').serialize());  //string : a=1&b=2&c=3
        
        console.log( $('form').serializeArray() );
        /*输出
        [
            { name : 'a' , value : '1' },
            { name : 'b' , value : '2' },
            { name : 'c' , value : '3' }
        ]
        *
    });
    <body>
    <form>
        <input type="text" name="a" value="1">
        <input type="text" name="b" value="2">
        <input type="text" name="c" value="3">
    </form>
    </body>
    

    相关文章

      网友评论

        本文标题:初识jQuery之jQuery-Dom操作和数据操作(四)

        本文链接:https://www.haomeiwen.com/subject/jqzvmftx.html