很多人都知道,使用removeAttribute可以删除网页中指定元素的属性。它和setAttribute刚好是对立的,该属性是增加元素的属性。
比如下面的代码,是给div创建一个ID属性的。
var mydiv = window.document.createElement("div");
mydiv.setAttribute("id","OpenCloseDiv");
然而,当我们在使用removeAttribute的时候,有的时候却并非成功,同时也并未弹出任何错误提示。比如:页面中有一个服务器端的控件,其HTML代码为:
<asp:Button ID="Button2" runat="server" Enabled="False" Text="交 卷" Visible="False" OnClientClick="return confirm('您确定要交卷吗?');" OnClick="Button2_Click" />
看好了,该按钮上面有客户端的一个事件函数:
OnClientClick="return confirm('您确定要交卷吗?');"
下面我们要做的就是,通过JS代码的removeAttribute去除删除OnClientClick函数事件,我所使用的代码为:
document.getElementById("Button2").removeAttribute("OnClientClick");
该代码并未成功执行,同时也不报错。接着,我又使用下面的代码:
document.getElementById("Button2").removeAttribute("onclick");
同样也没有成功,也没有报错,本人很是无奈,后来,在查找资料的时候,找到了解决该问题的代码。
使用下面这一句,问题就解决了。
document.getElementById("Button2").onclick = null;