getElementsByClassName迭代中的JavaScript for循环不是函数错误
我有一个等高函数。我有3个容器。容器内是我喜欢设置为等高的瓷砖。我想为每个容器瓷砖设置不同的偏移高度;所以我迭代容器。我有以下设置:getElementsByClassName迭代中的JavaScript for循环不是函数错误,javascript,for-loop,dom,Javascript,For Loop,Dom,我有一个等高函数。我有3个容器。容器内是我喜欢设置为等高的瓷砖。我想为每个容器瓷砖设置不同的偏移高度;所以我迭代容器。我有以下设置: var setTileHeight=function(){ var containers=document.getElementsByClassName('a-r'); 用于(容器中的var i){ var tiles=containers[i].getElementsByClassName('span-3'); 控制台日志(瓷砖); } }; window.o
var setTileHeight=function(){
var containers=document.getElementsByClassName('a-r');
用于(容器中的var i){
var tiles=containers[i].getElementsByClassName('span-3');
控制台日志(瓷砖);
}
};
window.onload=函数(){
setTileHeight();
};代码>
.span-3{
浮动:左;
宽度:25%;
填充:10px;
}
.span-12{
浮动:左;
宽度:100%;
}
.形象{
宽度:50px;
浮动:左;
}
.文本{
宽度:计算(100%-50px);
浮动:左;
}
如前所述,错误是由于不正确的循环结构造成的for..in
循环对象的属性,而不是数组的元素
样本
var setTileHeight=function(){
var containers=document.getElementsByClassName('a-r');
用于(容器中的var i){
试一试{
var tiles=containers[i].getElementsByClassName('span-3');
控制台日志(瓷砖);
}捕获(e){
log(“由于i:,i的值不正确而导致的错误”)
}
}
};
window.onload=函数(){
setTileHeight();
};代码>
.span-3{
浮动:左;
宽度:25%;
填充:10px;
}
.span-12{
浮动:左;
宽度:100%;
}
.形象{
宽度:50px;
浮动:左;
}
.文本{
宽度:计算(100%-50px);
浮动:左;
}
for (let i = 0; i < containers.length; i++) {
var tiles = containers[i].getElementsByClassName('span-3');
}
<script>
var setTileHeight = function () {
var containers = document.getElementsByClassName('a-r');
for (var i in containers) {
var allchildren = containers[i].children;
for (var j in allchildren) {
var cls = allchildren[j].className;
if (cls === 'span-3') {
var item = document.getElementsByClassName(cls);
if (item && item.length > 0)
item[0].setAttribute("style", "height:100px");
}
}
}
};
window.onload = function () {
setTileHeight();
};
</script>