如何遍历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-]')
这种方式,例如:
$('[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-'));