Javascript 如何将特定属性分配给循环中的所有子节点

Javascript 如何将特定属性分配给循环中的所有子节点,javascript,html,Javascript,Html,我有一个html标签,里面有n个子循环 <div class="class1 " id="id1" style="position: absolute; z-index: 12005; v left: -10000px; top: -10000px; width: 228px; height: 0px; font-size: 11px;"> <div class="class2" id="id2" style="width: 228px;"> &l

我有一个html标签,里面有n个子循环

<div class="class1 " id="id1" style="position: absolute; z-index: 12005; v left: -10000px; top: -10000px; width: 228px; height: 0px; font-size: 11px;">
    <div class="class2" id="id2" style="width: 228px;">
        <div class="class3">H1</div>
        <div class="class3">H2</div>
        <div class="class3">H3</div>
        <div class="class3">H4</div>
    </div>
</div>

尝试
文档。querySelectAll

setTimeout(myFunction,1000);
函数myFunction(){
var x=document.queryselectoral(#id2>[class^='class']);
x、 forEach(函数(elem){
elem.style.height=“30px”
});
}
/**用于测试的css**/
div{
边框:1px纯红;
颜色:红色;
填充:4px;
保证金:4倍;
宽度:100%;
}

H1
氢
H3
H4

尝试
文档。querySelectAll

setTimeout(myFunction,1000);
函数myFunction(){
var x=document.queryselectoral(#id2>[class^='class']);
x、 forEach(函数(elem){
elem.style.height=“30px”
});
}
/**用于测试的css**/
div{
边框:1px纯红;
颜色:红色;
填充:4px;
保证金:4倍;
宽度:100%;
}

H1
氢
H3
H4

如果要设置id'id2'节点内每个div的高度,应使用此代码为每个子节点设置高度100px

childList = document.getElementById('id2').childNodes
childList.forEach(function(item){
    item.style.heigth="100px"
});

请注意,childList表示id为“id2”的节点内所有节点的名称。变量项表示其自身

如果要设置id'id2'节点内每个div的高度,则应使用以下代码为每个子节点设置高度100px

childList = document.getElementById('id2').childNodes
childList.forEach(function(item){
    item.style.heigth="100px"
});

请注意,childList表示id为“id2”的节点内所有节点的名称。变量项表示其本身

如果要设置所有子div的高度,可以使用css

.class2 .class3{height:100px;}
或者,如果您想使用javascript,那么可以使用

var parentDiv = document.getElementById("id2");
var children = parentDiv.children;
for(var i = 0; i < child.length; i++){
 child[i].style.color = "green";
}
var parentDiv=document.getElementById(“id2”);
var children=parentDiv.children;
对于(变量i=0;i
若要设置所有子div的高度,可以使用css

.class2 .class3{height:100px;}
或者,如果您想使用javascript,那么可以使用

var parentDiv = document.getElementById("id2");
var children = parentDiv.children;
for(var i = 0; i < child.length; i++){
 child[i].style.color = "green";
}
var parentDiv=document.getElementById(“id2”);
var children=parentDiv.children;
对于(变量i=0;i
是否要设置id=“id2”的div的所有子div的高度?为什么不使用css进行布局?其目的没有明确说明。如果你能详细解释,或者用一个恰当的例子来回答这些问题,你会得到更好的建议。如果您只想将所有div元素的高度设置为与父元素相同,那么为什么不使用CSS继承属性,并且不再需要JS支持。如果您的问题真的是设置高度,我强烈建议您只使用CSS,特别是因为您想要影响的所有元素都已经具有相同的类名亲爱的@David,您的问题和示例代码似乎相互矛盾。您希望
将高度设置为所有子div,如class1,class2..
,而示例代码表示您只希望在
#id2
内更改高度,并且在该节点内没有
class1,class2
这样的类。请更正问题。然而,我给出了一个答案,如果你能稍微操纵一下,这个答案可能会符合你的要求。你想设置id为=“id2”的div的所有子div的高度,是吗?为什么不使用css来进行布局?目的没有明确说明。如果你能详细解释,或者用一个恰当的例子来回答这些问题,你会得到更好的建议。如果您只想将所有div元素的高度设置为与父元素相同,那么为什么不使用CSS继承属性,并且不再需要JS支持。如果您的问题真的是设置高度,我强烈建议您只使用CSS,特别是因为您想要影响的所有元素都已经具有相同的类名亲爱的@David,您的问题和示例代码似乎相互矛盾。您希望
将高度设置为所有子div,如class1,class2..
,而示例代码表示您只希望在
#id2
内更改高度,并且在该节点内没有
class1,class2
这样的类。请更正问题。不过,我已经给出了一个答案,如果您愿意稍加操作,它可能会满足您的要求。我得到的
对象不支持属性或方法“forEach”
@NinaScholz我确信我使用的是edge 40.15063.0.0这是过分的和错误的。如果标记发生更改,并且在现有类名之前,将另一个类名添加到类列表中,该怎么办?这段代码将简单地停止执行所需的操作。此外,这将影响示例中的所有div,而不仅仅是子类。@NinaScholz我不确定,但您可以尝试使用旧的javascript解决方案。我没有要测试的
Edge
。我得到的
对象不支持属性或方法“forEach”
@NinaScholz我确信我使用的是Edge 40.15063.0.0这是过分的和错误的。如果标记发生更改,并且在现有类名之前,将另一个类名添加到类列表中,该怎么办?这段代码将简单地停止执行所需的操作。此外,这将影响示例中的所有div,而不仅仅是子类。@NinaScholz我不确定,但您可以尝试使用旧的javascript解决方案。我没有要测试的
边缘。