解决Firefox下不支持outerHTML问题代码分享

前端技术 2023/09/03 HTML

代码很简单,如下:


复制代码
代码如下:

var pro = window.HTMLElement.prototype;
pro.__defineGetter__(\"outerHTML\", function(){
var str = \"<\" + this.tagName;
var a = this.attributes;
for(var i = 0, len = a.length; i < len; i++){
if(a[i].specified){
str += \" \" + a[i].name + \'=\"\' + a[i].value + \'\"\';
}
}
if(!this.canHaveChildren){
return str + \" />\";
}
return str + \">\" + this.innerHTML + \"</\" + this.tagName + \">\";
});
pro.__defineSetter__(\"outerHTML\", function(s){
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var df = r.createContextualFragment(s);
this.parentNode.replaceChild(df, this);
return s;
});
pro.__defineGetter__(\"canHaveChildren\", function(){
return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase());
});

本文地址:https://www.stayed.cn/item/8598

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。