我想我已经阅读了完整的jQuery API documentation,并在调试器中查看了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表示并不困难,可以吗?
答案 0 :(得分:8)
尝试使用dom属性.outerHTML
答案 1 :(得分:2)
您可以使用'.outerHTML'属性。这是使用jquery的外观:http://jsfiddle.net/MHvmm/
$('div')[0].outerHTML
答案 2 :(得分:0)
这可以通过将您想要的对象包含在另一个对象中,并获取innerHTML来实现。 这里有更详细的解释: How do you convert a jQuery object into a string?