Jquery .addBack()和.parent()之间有什么区别?
.addBack()和.parent()之间有什么区别Jquery .addBack()和.parent()之间有什么区别?,jquery,Jquery,.addBack()和.parent()之间有什么区别 看起来他们都只是向上遍历一个级别并选择元素。这取决于您来自哪里。 parent()将始终选择直接父元素,addBack()的结果取决于前面选择器的结果: .addBack([选择器]) 返回:jQuery 描述:将堆栈上的前一组元素添加到当前集合,可选地通过选择器进行过滤 查看以下JSFIDLE示例: 第一个警报将选择第二个的所有以下兄弟姐妹,然后再加上第二个。 第二个aler将选择第二个的以下所有同级,并获取其父级(而不是将其添加到结果
看起来他们都只是向上遍历一个级别并选择元素。这取决于您来自哪里。
parent()
将始终选择直接父元素,addBack()
的结果取决于前面选择器的结果:
.addBack([选择器])
返回:jQuery
描述:将堆栈上的前一组元素添加到当前集合,可选地通过选择器进行过滤
查看以下JSFIDLE示例:
第一个警报将选择第二个的所有以下兄弟姐妹,然后再加上第二个。
第二个aler将选择第二个的以下所有同级,并获取其父级(而不是将其添加到结果集中)。完全不同的方法:
addBack() - add the current selection to the previous one and merges those selections
parent() - selects the direct parent of the current selection
查看官方文件:
基本示例:
以html为例:
<div id="parent">
<div id="child">
</div>
</div>
parent
的结果获取当前选择的直接DOM父级,而addBack
在jQuery中进行链接时获取上一个选择
使用以下示例:
<div class="the-one">
<div class="child-1">
<div class="grandchild-1"></div>
<div class="grandchild-2"></div>
</div>
<div class="child-2"></div>
<div class="child-3"></div>
</div>
如果运行$('.one').find('.grant-1').parent()
您将得到child-1
如果运行$('.the one').find('.green-1').addBack()
您将得到the one
和green-1
addBack
通常用于在链接中向下遍历DOM时,您需要一种简单的方法返回到上一个选择并执行另一个遍历。addBack的API说“将堆栈上的前一组元素添加到当前集”。@nipponese-这是一样的。。将A添加到B与将B添加到A相同。。或者我不明白这个评论
<div class="the-one">
<div class="child-1">
<div class="grandchild-1"></div>
<div class="grandchild-2"></div>
</div>
<div class="child-2"></div>
<div class="child-3"></div>
</div>