给firefox添加outerHTML属性

本文介绍了一种在不支持outerHTML特性的浏览器中实现该功能的方法。通过定义getter和setter来获取和设置元素及其子元素的HTML代码。适用于前端开发人员。
  1. if(window.HTMLElement)
  2. {
  3.     var _emptyTags = {
  4.     'img'true,
  5.     'br'true,
  6.     'input'true,
  7.     'meta'true,
  8.     'link'true,
  9.     'param'true,
  10.     'hr'true
  11.     };
  12.     HTMLElement.prototype.__defineGetter__('outerHTML'function(){
  13.     
  14.         var attrs = this.attributes;
  15.         var str = "<" + this.tagName;
  16.         for(var i=0; i<attrs.length; i++)
  17.         {
  18.             str += " " + attrs[i].name + "=/"" + attrs[i].value + "/"";
  19.         }
  20.         if(_emptyTags[this.tagName]) return str + "/>";
  21.         return str + ">" + this.innerHTML + "</" + this.tagName + ">";
  22.     });
  23.     HTMLElement.prototype.__defineSetter__('outerHTML'function(sHTML){
  24.     
  25.         var r = this.ownerDocument.createRange();
  26.         r.setStartBefore(this);
  27.         var df = r.createContextualFragment(sHTML);
  28.         this.parentNode.replaceChild(df, this);
  29.     });
  30. }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值