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

Javascript 如何循环一个div的子div并获取子div的id?,javascript,jquery,Javascript,Jquery,我有一个带身份证的div 通过foreach循环,我在test 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

通过foreach循环,我在test 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];
}
var childDivs=document.getElementById('test').getElementsByTagName('div'); 对于(i=0;i您可以使用

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

例如:

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

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

如果有人还在找,这里有个解决办法

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-'));
函数getDivChildren(containerId,elementsId){ var div=document.getElementById(containerId), subDiv=div.getElementsByTagName('div'), myArray=[]; 对于(变量i=0;i