Javascript 通过onclick事件删除div

Javascript 通过onclick事件删除div,javascript,Javascript,我试图删除一个带有onclick事件的div,但它不起作用,div仍然存在,下面是我正在使用的代码,有人可以帮助吗 <div id="apDiv2"> <a href="#" onclick="document.getElementById('apDiv2').removeChild(document.getElementById('apDiv1'))"> <div id="apDiv1"></div> </a

我试图删除一个带有onclick事件的div,但它不起作用,div仍然存在,下面是我正在使用的代码,有人可以帮助吗

<div id="apDiv2">
    <a href="#" onclick="document.getElementById('apDiv2').removeChild(document.getElementById('apDiv1'))">
        <div id="apDiv1"></div>
    </a>
</div>

试试这个:

<div id="apDiv2">

<a href="#" onclick="this.removeChild(this.firstChild)"><div id="apDiv1">T</div></a>

</div>
如果无法为链接标记指定ID,则有多种方法可将外部apDiv2用作参考点,例如:

var linkTag = document.querySelector("#apDiv2 a");
// or
var linkTag = document.getElementById("apDiv2").getElementsByTagName("a")[0];

@用户2325465谢谢;)我还为新代码添加了一个解释。更好,但是既然
div
元素都有
id
并且可以很容易地定位,为什么还要保留内联JavaScript事件处理呢?@DavidThomas感谢您的输入。我已经添加了一个示例,以防OP希望采用这种方式。@user2325465如果这个答案对您有帮助,请接受它。我看了一下你之前的问题,似乎没有任何公认的答案。apDiv2没有子apDiv1。您需要引用a标记。
var linkTag = document.querySelector("#apDiv2 a");
// or
var linkTag = document.getElementById("apDiv2").getElementsByTagName("a")[0];