firefox没有outerHTML用以下方法解决

  1. /**
  2.  *   兼容firefox的 outerHTML  使用以下代码后,firefox可以使用element.outerHTML
  3.  **/
  4. if(window.HTMLElement) {
  5.     HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML){
  6.         var r=this.ownerDocument.createRange();
  7.         r.setStartBefore(this);
  8.         var df=r.createContextualFragment(sHTML);
  9.         this.parentNode.replaceChild(df,this);
  10.         return sHTML;
  11.         });
  12.     HTMLElement.prototype.__defineGetter__("outerHTML",function(){
  13.      var attr;
  14.         var attrs=this.attributes;
  15.         var str="<"+this.tagName.toLowerCase();
  16.         for(var i=0;i<attrs.length;i++){
  17.             attr=attrs[i];
  18.             if(attr.specified)
  19.                 str+=" "+attr.name+'="'+attr.value+'"';
  20.             }
  21.         if(!this.canHaveChildren)
  22.             return str+">";
  23.         return str+">"+this.innerHTML+"</"+this.tagName.toLowerCase()+">";
  24.         });
  25.         
  26.  HTMLElement.prototype.__defineGetter__("canHaveChildren",function(){
  27.   switch(this.tagName.toLowerCase()){
  28.             case "area":
  29.             case "base":
  30.          case "basefont":
  31.             case "col":
  32.             case "frame":
  33.             case "hr":
  34.             case "img":
  35.             case "br":
  36.             case "input":
  37.             case "isindex":
  38.             case "link":
  39.             case "meta":
  40.             case "param":
  41.             return false;
  42.         }
  43.         return true;
  44.      });
  45. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值