所以我正在编写一个用于更新和显示数据库表的界面,并且在客户端(使用 DataTables)显示的每一行都有一个“编辑”和“删除”按钮。每次单击单行的“编辑”时,其他行中的所有“编辑”和“删除”按钮都会被禁用。这是我用来执行此操作的 Javascript 代码:
var editButtons = document.getElementsByName("EditRow");
var deleteButtons = document.getElementsByName("DeleteRow");
for (i in editButtons) {
editButtons[i].disabled = true;
}
for (i in deleteButtons) {
deleteButtons[i].disabled = true;
}
这在 Chrome 和 Firefox 中工作得很好,但是当我在 IE9 中尝试它时,它不会禁用任何东西。我尝试了很多方法来解决这个问题,包括使用 jQuery 抓取 DOM 对象,但没有任何效果。任何帮助表示赞赏。
最佳答案
document.getElementsByName
返回 node list ,类似于数组。你应该这样对待它:
var elements = document.getElementsByName('something'),
len = elements.length;
for (var i = 0; i < len; i++) {
elements[i].disabled = true;
}
关于用于禁用按钮的 Javascript 在 IE 9 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8086632/