Jquery 使用each()在特定父对象上循环';孩子们
我有以下HTML结构:Jquery 使用each()在特定父对象上循环';孩子们,jquery,Jquery,我有以下HTML结构: <div class="parent"> <div class="child"> </div> <div class="child"> </div> <div class="child"> </div> </div> <div class="parent"> <div class="child">
<div class="parent">
<div class="child">
</div>
<div class="child">
</div>
<div class="child">
</div>
</div>
<div class="parent">
<div class="child">
</div>
<div class="child">
</div>
</div>
<div class="parent">
<div class="child">
</div>
<div class="child">
</div>
<div class="child">
</div>
<div class="child">
</div>
</div>
我认为另一种选择是在第一个
each()
中设置children变量,但我同样不确定如何做。问题部分是因为您在children
变量中全局选择了div.child
,部分是因为您试图附加一个整数值(index
)使用jQuery对象(父对象
),这将不起作用
要实现所需功能,您需要在循环中获取当前.parent
元素的子元素()
,这可以通过使用this
关键字来完成。试试这个:
var$parents=$('div.parent');
$parents.each(函数(){
$(this).children().each(function()){
console.log($(this.text());
});
});代码>
A-1
A-2
A-3
B-1
B-2
B-1
B-2
B-3
B-4
也许可以使用$(this).children('.child').each(function()…来实现,因为如果该子项得到另一个html标记,则子项比find更快。
var parents = $('div.parent');
var children = $('div.child');
$(parents).each(function(index, value) {
// do something
$(children, parents + index).each(function() {
//do something else
});
});