使用每个循环时获取每个父节点的ID

时间:2016-02-26 13:52:23

标签: javascript jquery

我可以实现获取每个循环中父节点的ID。但唯一的问题是在我的解决方案中我在控制台中得到这样的结果:

test-1       // test-1 id
     Test1
test-1       // test-1 id
     Test2
test-1       // test-1 id
     Test3

test-2       // test-2 id
     Test1
test-2       // test-1 id
     Test2

test-3
     Test1

我的预期解决方案是:

test-1        // test-1 id
     Test1
     Test2
     Test3

test-2       // test-2 id
     Test1
     Test2

test-3      // test-3 id
     Test1

检查我的小提琴:https://jsfiddle.net/5muotp9n/1/

3 个答案:

答案 0 :(得分:3)

尝试像这样重写你的逻辑,

 $('#test .demo').each(function () {
       console.log(this.id);
     $("ul li", this).each(function(){
        console.log("   "+this.textContent)
     });
 });

DEMO

答案 1 :(得分:3)

你想要做的是在循环中做一个循环,所以像这样:

$('#test ul').each(function () {

  var parents = $(this).parents('.demo').attr('id');
  console.log("Parent : " + parents);

  $(this).find('li').each(function(){ //for each li
    console.log($(this).html());
  });

 });

应该这样做:)

答案 2 :(得分:2)

 $('.demo').each(function () {

       var parents = $(this).attr('id');    
       console.log(parents);

       $(this).find("li").each(function(){
                console.log("    "+$(this).text());
     });

     });

https://jsfiddle.net/5muotp9n/1/