我正在创建一个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()
)似乎很笨拙。
答案 0 :(得分:6)
答案并不明显,但看似简单。 Node接口(Element扩展)有一个remove()
方法,可以从DOM中删除它。
_backdropDiv.remove();