使用JQuery将HTML标记作为字符串返回

sca*_*der 4 html string jquery

我使用JQuery创建了一个DOM片段:

var $content = $("<div /", {id:"content"})
Run Code Online (Sandbox Code Playgroud)

我想将片段输出为字符串,所以我试图:

$content.html();
Run Code Online (Sandbox Code Playgroud)

返回一个空字符串,因为没有子节点.如何返回包含以下内容的字符串:

<div id="content" />
Run Code Online (Sandbox Code Playgroud)

小智 5

jQuery在其API中没有任何内容可以直接执行此操作,但您可以使用本机.outerHTML属性.

$content[0].outerHTML
Run Code Online (Sandbox Code Playgroud)

...但是Firefox不支持这个,所以你可以做这样的事......

$content[0].outerHTML || $('<div>').append($content.clone()).html();
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/m22fn/

请注意,<div>标签不会自动关闭.