我正在尝试删除带有onclick事件的div,但它不起作用且div保留在那里,下面是我正在使用的代码,任何人都可以帮忙吗?
<div id="apDiv2">
<a href="#" onclick="document.getElementById('apDiv2').removeChild(document.getElementById('apDiv1'))">
<div id="apDiv1"></div>
</a>
</div>
答案 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];