从DOM中删除元素

时间:2012-06-23 05:59:03

标签: dart

我正在创建一个div元素并将其添加到body元素中,然后尝试删除该元素。这个简短的代码说明了我正在尝试做的事情:

//create div
_backdropDiv = new DivElement();

//add div to body, this works as expected
window.document.query('body').elements.add(_backdropDiv);

//in some other method...
var body = window.document.query('body');

//it's odd the List<E> doesn't specify a remove method, we'll jump through some hoops...
var backdropIndex = body.elements.indexOf(_modalDiv);
body.elements.removeRange(backdropIndex, 1); //<--- NotImplementedException

因此,从DOM中删除此元素的最明显方法不起作用,因为未实现removeRange。我应该另辟蹊径吗?

在不相关的说明中,为什么remove()上没有指定List<E>方法?必须执行两项操作(indexOf()removeRange())似乎很笨拙。

1 个答案:

答案 0 :(得分:6)

答案并不明显,但看似简单。 Node接口(Element扩展)有一个remove()方法,可以从DOM中删除它。

_backdropDiv.remove();

参考:http://api.dartlang.org/html/Node.html#remove