Javascript 无法设置属性';边际收益';未定义的

Javascript 无法设置属性';边际收益';未定义的,javascript,html,Javascript,Html,首先,>>>FIDDLE HERE查看循环迭代的属性: 0 1 2 3 4 length 迭代对象的所有可枚举属性。除非您真的打算这样做,否则不应该将其用于类似数组的对象 0到4工作,但是length没有style属性,这就是您的错误 改用常规的for循环: for (var i = 0; i < inn.length; i++) { inn[i].style.marginLeft = 40 + "px"; } for(变量i=0;i

首先,>>>FIDDLE HERE查看循环迭代的属性:

0
1
2
3
4
length
迭代对象的所有可枚举属性。除非您真的打算这样做,否则不应该将其用于类似数组的对象

0
4
工作,但是
length
没有
style
属性,这就是您的错误

改用常规的
for
循环:

for (var i = 0; i < inn.length; i++) {
    inn[i].style.marginLeft = 40 + "px";
}
for(变量i=0;i
查看循环迭代的属性:

0
1
2
3
4
length
迭代对象的所有可枚举属性。除非您真的打算这样做,否则不应该将其用于类似数组的对象

0
4
工作,但是
length
没有
style
属性,这就是您的错误

改用常规的
for
循环:

for (var i = 0; i < inn.length; i++) {
    inn[i].style.marginLeft = 40 + "px";
}
for(变量i=0;i
不要用于。。。在里面速度较慢,更容易出错。请尝试以下方法:

var inn = document.getElementsByClassName("line");
var i=0;
for (i=0;i<inn.length;i++) {
   inn[i].style.marginLeft=40+"px";
}

不要使用。。。在里面速度较慢,更容易出错。请尝试以下方法:

var inn = document.getElementsByClassName("line");
var i=0;
for (i=0;i<inn.length;i++) {
   inn[i].style.marginLeft=40+"px";
}

另一个对我有效的可能解决方案是,不要使用类名,而是尝试使用by-id。仅当您显式地不需要类时 把这行改成

var inn = document.getElementsByClassName("line");


另外一个对我有效的可能解决方案是,用id代替类名。只有当你明确不需要类名时,才尝试使用 把这行改成

var inn = document.getElementsByClassName("line");

并明确地在html文件中进行更改