如何遍历div的子div并获取子div的id?

问题描述:

我有一个ID与ID测试如何遍历div的子div并获取子div的id?

并通过foreach循环我在测试div内创建一些内部div。所以它变成这样。

<div id="test"> 
<div id="test-1"></div> 
<div id="test-2"></div> 
<div id="test-3"></div> 
<div id="test-4"></div> 
</div> 

我在javascript函数中获取父div id“test”。现在我想循环测试div的内部div(子div),并逐个获取每个div的id,并通过javascript对其进行设置。

对此的任何想法?

您可以使用jQuery .each()函数循环内部div。以下示例执行此操作,并为每个内部div获取id属性。

$('#test').find('div').each(function(){ 
    var innerDivId = $(this).attr('id'); 
}); 

试试这个

var childDivs = document.getElementById('test').getElementsByTagName('div'); 

for(i=0; i< childDivs.length; i++) 
{ 
var childDiv = childDivs[i]; 
} 

您可以使用

$('[id^=test-]') 

each()

这种方式,例如:

$('[id^=test-]').each(function(){ 
    var atId = this.id; 
    // do something with it 
});​ 

你试图做的是循环通过#test div的直接后代div;您可以使用>后代选择器和jQuery .each()迭代器执行此操作。您还可以分别使用jQuery .css().attr()方法来设置样式并检索id。

$("#test > div").each(function(index){ 
    var id = $(this).attr("id"); 
    $(this).css(/* apply styles */); 
}); 

使用jQuery。

该代码可以addapted您的需求:

$testDiv = ​$('div#test')​​​​​​​​​​​​.first();  
$('div', $testDiv).css("margin", '50px');​​​​ 

这里的解决方案,如果有人还在寻找它

function getDivChildren(containerId, elementsId) { 
    var div = document.getElementById(containerId), 
     subDiv = div.getElementsByTagName('div'), 
     myArray = []; 

    for(var i = 0; i < subDiv.length; i++) { 
     var elem = subDiv[i]; 
     if(elem.id.indexOf(elementsId) === 0) { 
      myArray.push(elem.id); 
     } 
    } 
    return myArray; 
} 
console.log(getDivChildren('test', 'test-'));