如何获取元素的HTML

时间:2014-06-01 13:54:21

标签: javascript html

例如我有:

<div id="f" style="width:50px; height:50px; background-color:#ddd">
    <p>Some text</p>
</div>

我想获得<div id="f" style="width:50px; height:50px; background-color:#ddd">

这是我到目前为止所尝试的:

alert(document.getElementById("f").innerHTML);
alert(document.getElementById("f").outerHTML);

jsfiddle

3 个答案:

答案 0 :(得分:6)

没有直接的方法可以做到这一点。但是,您可以从outerHTML内容中删除innerHTML内容。

document.getElementById("f").outerHTML.replace(document.getElementById("f").innerHTML,'')

答案 1 :(得分:2)

我能想到的最接近的是克隆它,删除所有内容,获取outerHTML,然后从最后删除</div>

var clone = document.getElementById("f").cloneNode(true);
clone.innerHTML = "";
var html = clone.outerHTML.replace(/<\/div>\s*$/, '');

答案 2 :(得分:1)

您几乎可以使用outerHTML获得解决方案。您只想在第一个&gt;之后拆分返回的字符串。字符,使用JS .split()很容易。

例如:

var html = document.getElementById("f").outerHTML;
var part = html.split(">")[0] + ">";

所以:我得到了整个HTML,将其拆分为&gt;字符,然后添加&gt;回来(因为split()将其删除)。

这里是updated fiddle