源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Firefox中使用outerHTML的2种解决方法

  • 时间:2020-02-06 08:38 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Firefox中使用outerHTML的2种解决方法
对于DOM对象的innerHTML属性想必大家都不会陌生,但是outerHTML用起来相对于会少一点了,innerHTML属性返回的是DOM对象从开始标签到结束标签中所包含的HTML,而outerHTML属性返回的是包括DOM对象本身标签在内的HTML,下图能很好的解释两个属性的区别: [img]http://files.jb51.net/file_images/article/201406/20146791417934.png?20145791430[/img] outerHTML最开始是属于IE的私有属性,可以查看MSDN上的说明:outerHTML Property(http://msdn.microsoft.com/en-us/library/ms534310(VS.85).aspx)。目前IE、Chrome、Safari、Opera都能支持这个属性,杯具的是outerHTML不支持Firefox,在Firefox中该属性永远返回undefined,值得欣慰的是HTML5会加入这个属性。 让Firefox支持outerHTML属性可以通过扩展HTMLElement的原型来实现:
[url=http://topcasinosenligne.com/la-roulette] if (!this.canHaveChildren)  return str " />";  return str ">" this.innerHTML "<!--" this.tagName "-->";  });  HTMLElement.prototype.__defineGetter__("canHaveChildren", function(){  return  !/^(area|base|basefont|  col|frame|hr|img|br|  input|isindex|link|meta  |param)$/.test(this.tagName.toLowerCase());  }); } 
该方法出自W3Help(http://www.w3help.org/zh-cn/causes/SD9017),有点繁琐,而且还要侵入原型。还有一种更简单代替的办法,先创建一个空节点,将要获取outerHTML属性的DOM对象添加到这个空节点中,然后访问这个空节点的innerHTML就行了: 比起上面的办法,不用去动原型,代码量也少了很多,相信还会有其他的解决办法。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部