4

我想我已经阅读了完整的jQuery API 文档,并在调试器中查看了 jQuery 对象和简单的 DOM 元素,以检查它们在运行时实际具有哪些方法,但是对于我的生活,我找不到一种方法来获取表示 jQuery 对象或 DOM 节点内容的 html 字符串。我错过了什么吗?

jQuery 对象有方法html(),DOM 元素有属性innerHTML,但都只给出对象的内部 html。因此,如果我有这样的 HTML:

<body>
    <div>
        <p>Hello World!</p>
    </div>
</body>

我使用 jQuery 做这样的事情var $div = $body.find("div"),然后我调用$div.html()返回的字符串是"<p>Hello World!</p>". 但我正在寻找一种让它返回的方法"<div><p>Hello World!</p></div>"(我不关心空格)。

我究竟做错了什么?获取这些对象的 html 表示并不难,不是吗?

4

3 回答 3

8

试试 dom 属性.outerHTML

于 2013-05-09T16:43:02.897 回答
2

您可以使用“.outerHTML”属性。这是使用 jquery 的样子:http: //jsfiddle.net/MHvmm/

$('div')[0].outerHTML
于 2013-05-09T16:46:35.110 回答
0

这可以通过将您想要的对象包含在另一个对象中并获取 innerHTML 来实现。这里有更详细的解释: How do you convert a jQuery object into a string?

于 2013-05-09T16:48:11.203 回答