我在从元素 ID 数组中引用复选框元素时遇到问题。为什么我可以使用文字和字符串 var 作为 getElementById 的参数来引用它,而不是使用数组的元素来引用它?
<html>
<body>
<ul id="zip_wrapper">
<li><label><input type="checkbox" id="72002" value="72002" name="zip_codes[]" checked="checked">72002</label></li>
<li><label><input type="checkbox" id="72034" value="72034" name="zip_codes[]" checked="checked">72034</label></li>
</ul>
<script>
var zips = "";
var tester = "72034";
zips = document.getElementById("zip_wrapper").innerText.split(" ");
//zips = Array.prototype.slice.call(zips); //a la http://stackoverflow.com/questions/4287681/extremely-annoying-javascript-array-object-error
document.write("zips array, tokenized by split(\" \"): " + zips + "<br />");
document.write("document.getElementById(\"72034\").checked: " + document.getElementById("72034").checked + "<br />");
document.write("document.getElementById(tester).checked: " + document.getElementById(tester).checked + "<br />");
document.write("document.getElementById(zips[1]).checked: " + document.getElementById(zips[1]).checked + "<br />");
</script>
</body>
</html>
您可以在此处查看正在运行的页面:https ://dl.dropbox.com/u/1634015/website/checked.html