我有一个div
,在这个div中,有一个ContentPlaceHolder
,在持有者中有一个Linkbutton
。
我正在尝试动态删除链接按钮但是我收到此错误:
错误:DOM异常:NOT_FOUND_ERR(8)。
这是我的代码:
<div id="leftcol" style="z-index: 0">
<asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">
<asp:LinkButton CssClass="childLI" ID="tblRSManswers" runat="server" Text="RS Manswers" OnClick="ChildLink_Click" >
Javascript代码:
var child = document.getElementById("tblRSManswers"));
alert(child);
var parent = document.getElementById("ContentPlaceHolder2"));
alert(parent);
parent.removeChild(child);
P.S:警报不是NULL。
答案 0 :(得分:3)
removeChild
期待直接的父母。您粘贴的HTML似乎只是最相关代码的摘录,所以即使它在您的代码中看起来像这样,我也不确定您的实际应用程序是什么情况?
尝试
child.parentNode.removeChild(child);
答案 1 :(得分:1)
试试此代码
document.getElementById("<%= tblRSManswers.ClientID %>").parentNode.removeChild(document.getElementById("<%= tblRSManswers.ClientID %>"));
<强>更新强>
在ASP.Net中,ContentPlaceHolders只是一个占位符来呈现一些HTML元素,但它不是一个真正的DOM元素。它在页面中不可见。所以使用javascript查找内容占位符始终返回null,因为它不会在DOM中呈现