0

我创建了一个简单的 javascript 来选择所有复选框。它可以在两种浏览器中使用,但不能在一种浏览器中使用。任何人都可以帮助我使用此脚本使其与 IE8 或更高版本兼容。

<script language="JavaScript">

function toggle(source) {

  checkboxes = document.getElementsByName('marked[]');

  for(var i in checkboxes)

    checkboxes[i].checked = source.checked;

}

</script>

    <p>

        <input type="checkbox" onClick="toggle(this)" /> Select All

    </p> 

谢谢,

约拿

4

1 回答 1

7

尝试普通循环:

for (var i = 0; i <checkboxes.length; i++) {
    checkboxes[i].checked = source.checked;
}

返回的getElementsByNameHTMLCollection 不是普通数组,并且在每个浏览器中可能会有所不同。Firefox 和 Chrome 最有可能在使用for(var i in checkboxes)循环时返回索引,而 IE 则返回项目本身 - 普通循环应该可以解决这个问题,因为所有浏览器的基本语法都是相同的。

于 2012-10-03T09:27:06.157 回答