因此,我正在编写一个用于更新和显示数据库表的界面,客户端上显示的每一行(使用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和火狐浏览器上运行得很好,但当我在IE9上试用它时,它并没有禁用任何东西。我尝试了很多方法来解决这个问题,包括使用jQuery抓取DOM对象,但都没有成功。任何帮助都是非常感谢的。
发布于 2011-11-10 21:46:58
document.getElementsByName
返回一个类似数组的。你应该这样对待它:
var elements = document.getElementsByName('something'),
len = elements.length;
for (var i = 0; i < len; i++) {
elements[i].disabled = true;
}
发布于 2011-11-10 21:43:50
您的示例在IE9中不起作用,但它可以:
Array.prototype.forEach.call(document.getElementsByName('EditRow'), function(el){
el.disabled = true;
});
https://stackoverflow.com/questions/8086632
复制相似问题