0

我试图使用 jQuery 获取元素的整个 HTML。当然,.html()只抓取内部 HTML,但我也想检索包装 HTML。

想象一下下面的 HTML:

<div id="wrapper">
    <div id="container_a">
        <p>Container A</p>
    </div>
    <div id="container_b">
        <p>Container B</p>
    </div>
</div>

现在,如果我愿意,$("#container_a").html()我会<p>Container A</p>明白的。但是,我想得到以下信息:

<div id="container_a">
    <p>Container A</p>
</div>

我将如何实现这一目标?

4

6 回答 6

3

您可以使用以下方法执行此操作prop

$("#container_a").prop('outerHTML');

小提琴演示

于 2013-06-13T11:12:00.883 回答
1

采用outerHTML

$("#container_a")[0].outerHTML

使用纯 JavaScript

document.getElementById("container_a").outerHTML;
于 2013-06-13T11:10:13.583 回答
1

首先clone用于临时然后获取html

$('div').append($('#container_a').clone()).html();
于 2013-06-13T11:14:48.780 回答
1

这应该工作

<script>
    var a=document.getElementById("container_a").outerHTML;
    alert(a);
</script>

我们可以以任何其他方式使用变量 a 来代替 alert...

于 2013-06-13T11:19:32.093 回答
0

采用outerHTML

$("#container_a")[0].outerHTML

演示---> http://jsfiddle.net/uBDHY/1/

于 2013-06-13T11:09:31.140 回答
0

您可以使用 。outerHTML为了这

$("#container_a")[0].outerHTML
于 2013-06-13T11:09:39.767 回答