我想在javascript中创建一个循环元素, 我的HTML是:
<input type="checkbox" name="menu[]" value="0">
<input type="checkbox" name="menu[]" value="1">
<input type="checkbox" name="menu[]" value="2">
和javascript是
window.onload = function() {
var x = document.getElementsByName("menu");
for (i = 0; i < x.length; i++) {
if (x[i].type == "checkbox") {
x[i].checked = true;
}
}
}
但没有检测到任何元素!!!!
尝试alert(x.length)
,你看到了0 !!
答案 0 :(得分:3)
元素名称为menu[]
,就像它在HTML源代码中所说的那样。
window.onload = function() {
var x = document.getElementsByName("menu[]"), i;
for (i = 0; i < x.length; i++) {
if (x[i].type == "checkbox") {
x[i].checked = true;
}
}
}
<input type="checkbox" name="menu[]" value="0">
<input type="checkbox" name="menu[]" value="1">
<input type="checkbox" name="menu[]" value="2">
<p>All checkboxes named <b>menu[]</b> have been checked.</p>
HTML不关心方括号。它们没有任何意义,它们就像字母一样。
事实上,例如,PHP特别对待它们并不是HTML所关注的。
P.S。不要忘记声明循环计数器i
,否则它将是全局的,并且您不需要全局循环计数器。