【发布时间】:2011-10-23 16:39:25
【问题描述】:
我有一个约 50 个项目的数组,在 javascript 中,它通过这个数组来检查一个条件,如果满足条件,它会为要检查的复选框设置属性。它通过得很好,但每次只更改数组中的最后一项。这是一段代码。
for (i = 0; i < urlArray.length; i++) {
var newImg = new Image();
var coName = companyArray[i];
newImg.onload = function(){
if (condition is met){
nStar++;
document.getElementById(coName).setAttribute("checked", "checked");
document.getElementById(coName).checked = true;
} else {
nStar++;
document.getElementById(coName).setAttribute("checked", "checked");
document.getElementById(coName).checked = true;
document.getElementById(coName).setAttribute("disabled", "disabled");
document.getElementById(coName).disabled = true;
}
};
所以你可以看到条件是否满足,它仍然会改变属性,但我收到的错误是它只改变了数组中的最后一项。有什么想法吗?
【问题讨论】:
-
你到底为什么要做 setAttribute 和 .xxx?他们都做同样的事情!
-
哈哈哎呀,我什至没有注意到我这样做了。条件只是检查 URL 是否来自正确的域。
标签: javascript arrays attributes checkbox