美文网首页
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