我如何在Firefox中做OuterHTML?

我如何在Firefox中做OuterHTML?

我的部分代码我得到了OuterHTML属性

"<LI onclick="TabClicked(this, 'SearchName', 'TabGroup1');">Name "

所以我可以做一些解决它的东西。

虽然我在Firefox上的javascript中没有OuterHTML属性,但我找不到另一种获取此字符串的方法。想法?


不负相思意
浏览 396回答 3
3回答

MMMHUHU

这是我们在pure.js中使用的函数:function&nbsp;outerHTML(node){ &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;node.outerHTML&nbsp;||&nbsp;new&nbsp;XMLSerializer().serializeToString(node);}要使用DOM方式:outerHTML(document.getElementById('theNode'));它适用于跨浏览器编辑:警告!&nbsp;XMLSerializer存在问题,它会生成XML(XHTML)字符串。这意味着您最终可能会使用标签,<div class="team" />而不是<div class="team"></div>某些浏览器不喜欢它。最近我对Firefox 3.5感到很痛苦。因此,对于我们的pure.jslib,我们回到了旧的安全方式:function&nbsp;outerHTML(node){ &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;if&nbsp;IE,&nbsp;Chrome&nbsp;take&nbsp;the&nbsp;internal&nbsp;method&nbsp;otherwise&nbsp;build&nbsp;one &nbsp;&nbsp;return&nbsp;node.outerHTML&nbsp;||&nbsp;( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function(n){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;div&nbsp;=&nbsp;document.createElement('div'),&nbsp;h; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;div.appendChild(&nbsp;n.cloneNode(true)&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h&nbsp;=&nbsp;div.innerHTML; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;div&nbsp;=&nbsp;null; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;h; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})(node); &nbsp;&nbsp;}

元芳怎么了

正确的方法(对于非IE浏览器)是:var&nbsp;sOuterHTML&nbsp;=&nbsp;new&nbsp;XMLSerializer().serializeToString(oElement);

catspeake

如果你愿意使用jQuery那么它相对简单:$('<div>').append(&nbsp;$(ElementSelector).clone()&nbsp;).html();如果选择了多个元素,这将获得多个元素的外部HTML
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript