如何循环div的子div并获取子div的id?

我有一个带有id测试的div

通过foreach循环,我在测试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]; } 

如果有人仍然在寻找它,这是解决方案

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

您可以使用

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

和每个()

这种方式例如:

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

你要做的是循环遍历#test div的直接后代div; 你可以使用> descendant选择器和jQuery .each()迭代器来完成这个。 您还可以使用jQuery .css().attr()方法分别设置样式和检索id。

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

使用jQuery。

此代码可以根据您的需求添加:

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