美文网首页
jQuery关键知识(二)

jQuery关键知识(二)

作者: Reiko士兵 | 来源:发表于2019-08-29 15:16 被阅读0次
    1. jQuery 创建的对象都是新对象
    alert( $( "#logo" ) === $( "#logo" ) ); // alerts "false"
    alert( $( "#logo" ).get(0) === $( "#logo" ).get(0) ); // alerts "true"
    

    尽管两个 jQuery 对象包含相同的 DOM 元素,但是俩对象并不相等,要判断俩对象是否包含相同 DOM 元素,可以通过 get 方法获取 jQuery 对象包含的 DOM 元素来比较。

    2. jQuery 对象并不能自动更新
    var allParagraphs = $( "p" );
    

    allParagraphs 并不会随着页面上 p 元素的增加或减少而改变,除非重新执行

    allParagraphs = $( "p" );
    
    3. 遍历 DOM 元素

    参考文本

    <div class="grandparent">
        <div class="parent">
            <div class="child">
                <span class="subchild"></span>
            </div>
        </div>
        <div class="surrogateParent1"></div>
        <div class="surrogateParent2"></div>
    </div>
    

    a. 遍历父节点
    主要有 .parent(), .parents(), .parentsUntil(), 和 .closest() 方法

    // Selecting an element's direct parent:
     
    // returns [ div.child ]
    $( "span.subchild" ).parent();
     
    // Selecting all the parents of an element that match a given selector:
     
    // returns [ div.parent ]
    $( "span.subchild" ).parents( "div.parent" );
     
    // returns [ div.child, div.parent, div.grandparent ]
    $( "span.subchild" ).parents();
     
    // Selecting all the parents of an element up to, but *not including* the selector:
     
    // returns [ div.child, div.parent ]
    $( "span.subchild" ).parentsUntil( "div.grandparent" );
     
    // Selecting the closest parent, note that only one parent will be selected
    // and that the initial element itself is included in the search:
     
    // returns [ div.child ]
    $( "span.subchild" ).closest( "div" );
     
    // returns [ div.child ] as the selector is also included in the search:
    $( "div.child" ).closest( "div" );
    

    b. 遍历子节点
    主要有 .children 和 .find 方法

    // Selecting an element's direct children:
     
    // returns [ div.parent, div.surrogateParent1, div.surrogateParent2 ]
    $( "div.grandparent" ).children( "div" );
     
    // Finding all elements within a selection that match the selector:
     
    // returns [ div.child, div.parent, div.surrogateParent1, div.surrogateParent2 ]
    $( "div.grandparent" ).find( "div" );
    

    c. 遍历兄弟节点
    主要方法有.prev(), .next(), .siblings(), .nextAll(), .nextUntil(), .prevAll() 和 .prevUntil()

    // Selecting a next sibling of the selectors:
     
    // returns [ div.surrogateParent1 ]
    $( "div.parent" ).next();
     
    // Selecting a prev sibling of the selectors:
     
    // returns [] as No sibling exists before div.parent
    $( "div.parent" ).prev();
     
    // Selecting all the next siblings of the selector:
     
    // returns [ div.surrogateParent1, div.surrogateParent2 ]
    $( "div.parent" ).nextAll();
     
    // returns [ div.surrogateParent1 ]
    $( "div.parent" ).nextAll().first();
     
    // returns [ div.surrogateParent2 ]
    $( "div.parent" ).nextAll().last();
     
    // Selecting all the previous siblings of the selector:
     
    // returns [ div.surrogateParent1, div.parent ]
    $( "div.surrogateParent2" ).prevAll();
     
    // returns [ div.surrogateParent1 ]
    $( "div.surrogateParent2" ).prevAll().first();
     
    // returns [ div.parent ]
    $( "div.surrogateParent2" ).prevAll().last();
    
    // Selecting an element's siblings in both directions that matches the given selector:
     
    // returns [ div.surrogateParent1, div.surrogateParent2 ]
    $( "div.parent" ).siblings();
     
    // returns [ div.parent, div.surrogateParent2 ]
    $( "div.surrogateParent1" ).siblings();
    

    相关文章

      网友评论

          本文标题:jQuery关键知识(二)

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