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

Ahm*_*mad 13 javascript jquery

我有一个带有id测试的div

通过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>
Run Code Online (Sandbox Code Playgroud)

我在javascript函数中获得父div id"test".现在我想循环遍历测试div的内部div(子div)并逐个获取每个div的id并通过javascript设置它们.

有什么想法吗?

yog*_*ogi 26

试试这个

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

for( i=0; i< childDivs.length; i++ )
{
 var childDiv = childDivs[i];
}
Run Code Online (Sandbox Code Playgroud)


aab*_*erg 11

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

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


les*_*dru 5

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

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-'));
Run Code Online (Sandbox Code Playgroud)