Skip to content

Remove an Element or empty childNodes #15

@hexson

Description

@hexson

怎样移除一个 Element,纵观 Javascript,没有一个能直接销毁本身的方法,但是我们可以通过一些技巧来实现这个目的。

如果你引用了jQuery,你可以这样做:

$(".remove-elem").remove();

那如果没有引入jQuery呢,我们可以借助父节点来曲线删除:

html

<div class="module">
  <p>Stuff.</p>
  <div class="remove-elem">...</div>
</div>

javascript

var thingToRemove = document.querySelectorAll(".remove-elem")[0];

thingToRemove.parentNode.removeChild(thingToRemove);

那么如果你想保留自身节点,而清空自身里面所有的子节点呢?可以这样做:

html

<div id="emptyChildNode">
  <p>Stuff.</p>
  <div class="childnode">...</div>
  <p>Stuff.</p>
</div>

javascript

var mydiv = document.getElementById("emptyChildNode");

while (mydiv.firstChild) {
  mydiv.removeChild(mydiv.firstChild);
}

以上。

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions