Ric*_*d H 88 html javascript dom
想象一下,我有以下HTML:
<div><span><b>This is in bold</b></span></div>
Run Code Online (Sandbox Code Playgroud)
我想得到div的HTML,包括div本身.Element.innerHTML只返回:
<span>...</span>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢
Maj*_*kel 82
用途outerHTML
:
var el = document.getElementById( 'foo' );
alert( el.outerHTML );
Run Code Online (Sandbox Code Playgroud)
Jør*_*ode 81
扩展jldupont的答案,你可以动态创建一个包装元素:
var target = document.getElementById('myElement');
var wrap = document.createElement('div');
wrap.appendChild(target.cloneNode(true));
alert(wrap.innerHTML);
Run Code Online (Sandbox Code Playgroud)
我克隆元素以避免必须删除并重新插入实际文档中的元素.如果您要打印的元素下面有一棵非常大的树,这可能会很昂贵.
首先,放置包含div
问题的元素,在元素上放置一个id
属性然后使用getElementById
它:一旦你得到了这个元素,只需要'e.innerHTML`来检索HTML.
<div><span><b>This is in bold</b></span></div>
=>
<div id="wrap"><div><span><b>This is in bold</b></span></div></div>
然后:
var e=document.getElementById("wrap");
var content=e.innerHTML;
Run Code Online (Sandbox Code Playgroud)
请注意,这outerHTML
不是跨浏览器兼容的.
归档时间: |
|
查看次数: |
154052 次 |
最近记录: |