0

divこの div の中に a と aがContentPlaceHolderあり、ホルダーの中に 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 要素ではありません。ページには表示されません。そのため、DOM でレンダリングされないため、javascript を使用してコンテンツ プレースホルダーを検索すると、常に null が返されます。

于 2012-11-19T10:30:27.220 に答える