我试过通过网站搜索但我无法找到我正在寻找的东西..
我已经创建了一个带增量的div id,我想选择那个div标签,因为我试图通过javascript GetElementById设置宽度,因为如果你使用GetElementsByClass
我正在运行的代码将不起作用这就是我的工作
var list = document.getElementsByClassName("mycontent");
for (var i = 0; i < list.length; i++) {
list[i].setAttribute("id", "custom-id-" + i);
}
var widthx = document.getElementById('testx').offsetWidth;
document.getElementById('div-2').style.width = widthx + 'px';
document.getElementById('div-3').style.width = widthx + 'px';
document.getElementById('custom-id-'+i).style.width = widthx + 'px';
document.getElementsByClass('mycontent').style.width = widthx + 'px';
这两部作品
document.getElementById('div-2').style.width = widthx + 'px';
document.getElementById('div-3').style.width = widthx + 'px';
然而,这是我需要工作的
document.getElementById('custom-id-'+i).style.width = widthx + 'px';
document.getElementsByClass('mycontent').style.width = widthx + 'px';
任何想法我怎么能让它运行?这是一个jsfiddle
事先知道了谁答案 0 :(得分:1)
应该是内循环:
var list = document.getElementsByClassName("mycontent");
for (var i = 0; i < list.length; i++) {
list[i].setAttribute("id", "custom-id-" + i);
list[i].id = 'custom-id-' + i; list[i].style.width = widthx + 'px';
}
答案 1 :(得分:0)
您正在使用i
超出范围。
换句话说,您无法在i
循环之外引用变量for
,因为您无法从那里访问它,因此您需要移动所有内容在循环内部。
此外,getElementsByClass()
不是函数。您正在寻找getElementsByClassName()
。
如果您使用那个作为最后一行,那就可以了。
var list = document.getElementsByClassName("mycontent");
for (var i = 0; i < list.length; i++) {
list[i].setAttribute("id", "custom-id-" + i);
var widthx = document.getElementById('testx').offsetWidth;
document.getElementById('div-2').style.width = widthx + 'px';
document.getElementById('div-3').style.width = widthx + 'px';
document.getElementById('custom-id-' + i).style.width = widthx + 'px';
document.getElementsByClassName('mycontent')[i].style.width = widthx + 'px';
}
答案 2 :(得分:0)
document.getElementById('custom-id-'+i).style.width = widthx + 'px';
上述声明失败,i
的当前值为2
,页面中没有div
id
{。}}。
custom-id-2
以上陈述应为
document.getElementsByClass('mycontent').style.width = widthx + 'px';
然后再次document.getElementsByClassName('mycontent');
返回document.getElementsByClassName
;它没有array
属性。
您可以将style
的值分配给变量,并将document.getElementsByClassName('mycontent');
分配给变量,以执行所需的操作。