0

我有一个divand 在这个 div 里面, aContentPlaceHolder和里面的持有人 a 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);

PS:警报不是NULL。

4

2 回答 2

3

removeChild期望直接的父母。您粘贴的 HTML 似乎只是最相关代码的摘录,所以即使它在您的代码中看起来像,我不确定在您的实际应用程序中是否是这种情况?

尝试

child.parentNode.removeChild(child);
于 2012-11-19T10:35:57.437 回答
1

试试这个代码

document.getElementById("<%= tblRSManswers.ClientID %>").parentNode.removeChild(document.getElementById("<%= tblRSManswers.ClientID %>"));

更新:

在 ASP.Net 中,ContentPlaceHolders 只是呈现某些 HTML 元素的占位符,但它不是实际的 DOM 元素。它将在页面中不可见。所以用javascript查找内容占位符总是返回null,因为它不会在DOM中呈现

于 2012-11-19T10:30:27.220 回答