Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用each()在特定父对象上循环';孩子们_Jquery - Fatal编程技术网

Jquery 使用each()在特定父对象上循环';孩子们

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">

我有以下HTML结构:

<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
    });
});