不,但是以不同的方式是的。不要包含name
属性(或将值设置为""
),并将此代码放在复选框之后:
<script type="text/javascript">
var chx = document.getElementsByTagName("input");
for (var i = 0; i < chx.length; i++) {
var cur = chx[i];
if (cur.type === "checkbox") {
cur.name = "checkbox" + i;
}
}
</script>
演示:http: //jsfiddle.net/bLRLA/
复选框的名称将采用“checkbox#”格式。这从 0 开始计数。如果您想用 1 开始名称(就像您说的那样),请使用cur.name = "checkbox" + i + 1;
.
获取复选框的另一个选项是使用:
var chx = document.querySelectorAll('input[type="checkbox"]');
有了这个,您不必检查循环.type
内部。for
在任何一种情况下,最好不要使用document
,而是使用这些元素的一些更具体的容器,以便并非所有复选框都被定位/修改......除非这正是你想要的。
在演示中,我添加了额外的代码,以便当您单击复选框时,它会显示alert
为name
,只是为了证明它设置正确。该代码显然不是您所需要的……只是上面的代码。
此代码可以在复选框之后、在 末尾<body>
或在 中立即运行window.onload
。