我写了一个用于关闭我的div的脚本,所以当我点击x时div被删除但由于某种原因,当我点击x时,整个页面被删除。有谁知道我可能出错了。
HTML
<div class="note">
<span id='close' onclick='this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode); return false;'>x</span>
<div class="note-editable">
<p>Hi and welcome to</p>
<p1>Stickynote</p1>
<p2>Go ahead and note away</p2>
</div>
</div>
答案 0 :(得分:4)
看起来你走得太远了。尝试
onclick='this.parentNode.parentNode.removeChild(this.parentNode);'
答案 1 :(得分:0)
<span>
的父级是<div class="note">
,其父级可能是<body>
,其父级为<html>
。所以,当你这样做时:
this.parentNode.parentNode.parentNode
您正在引用<html>
标记,并在删除时删除:
this.parentNode.parentNode
您要从<body>
删除<html>
,从而删除所有内容。
相反,要获得所需的结果,您可以在示例中删除一个parentNode
引用,如下所示:
this.parentNode.parentNode.removeChild(this.parentNode);
或者只是使用:
this.parentNode.remove();