通过onclick事件删除div

时间:2013-09-07 13:39:30

标签: javascript

我正在尝试删除带有onclick事件的div,但它不起作用且div保留在那里,下面是我正在使用的代码,任何人都可以帮忙吗?

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

1 个答案:

答案 0 :(得分:3)

试试这个:

<div id="apDiv2">

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

</div>
  • removeChild()仅移除直接子女。

  • 我还使代码更清洁:

    • this引用事件的标记本身(在本例中为<a>标记)
    • this.firstChild指向链接代码的第一个子代:<div id="apDiv1">

顺便说一句,请在下次浏览浏览器的开发者控制台(例如Chrome中的F12)。你会看到一个你可以在这里发布的恐怖。它将帮助人们帮助你;)


更好的方法是将JavaScript放在自己的文件中(或者至少放在 块中)并使用ID来引用元素。

我会给链接另一个ID,例如myLink

document.getElementById("myLink").addEventListener("click", function () {
  this.removeChild(this.firstChild);
});

如果您无法为链接标记指定ID,可以使用外部 apDiv2 作为参考点的多种方式,例如:

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