IE的removeNode http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspx
帮助我决定是否要删除childNodes。
我想知道Firefox,Opera,Chrome和Safari是否存在同样的问题。如果没有,我该如何实现呢?
答案 0 :(得分:5)
不想只是复制代码,请将其读为:http://www.sitepoint.com/forums//showthread.php?p=947385
编辑(但我,pst,没有羞耻 - 上面链接的代码; - )
if ( window.Node )
Node.prototype.removeNode = function( removeChildren )
{
var self = this;
if ( Boolean( removeChildren ) )
{
return this.parentNode.removeChild( self );
}
else
{
var range = document.createRange();
range.selectNodeContents( self );
return this.parentNode.replaceChild( range.extractContents(), self );
}
}
答案 1 :(得分:2)
不,.removeNode()
不是标准方法,在IE之外不存在。
如果您正在寻找removeNode
将元素的子元素提升到某个级别(可选的布尔参数)的功能,则必须手动执行此操作。
然而,使用jQuery很容易:
$(elToRemove).replaceWith($(elToRemove).children());