是否可以从.html()返回的html创建元素?

bob*_*nte 5 jquery

预计,以下jQuery将从html创建节点:

var nodes = $( "<li>ABC</li><li>DEF</li>" );
Run Code Online (Sandbox Code Playgroud)

现在,考虑以下html:

        <ul class="foo">
            <li>ABC</li>
            <li>DEF</li>
        </ul>
Run Code Online (Sandbox Code Playgroud)

我的问题,为什么以下返回错误消息而不是节点?

var html = $( "ul.foo" ).html();
var nodes = $( html );
Run Code Online (Sandbox Code Playgroud)

错误消息是:

Uncaught Error: Syntax error, unrecognized expression: <li>ABC</li>
            <li>DEF</li> 
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到它http://jsfiddle.net/HDk47/

Jon*_*Jon 4

jQuery 的解析启发式不喜欢html.

删除空格可以解决问题:

var html = $.trim( $( "ul.foo" ).html() );
Run Code Online (Sandbox Code Playgroud)

更新了小提琴

更新:Felix Kling在我之前就找到了文档参考方式。