Skip to main content
 首页 » 编程设计

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

2026年07月28日5虾米姐

正如预期的那样,以下 jQuery 将从 html 创建节点:

var nodes = $( "<li>ABC</li><li>DEF</li>" ); 

现在,考虑以下 html:

        <ul class="foo"> 
            <li>ABC</li> 
            <li>DEF</li> 
        </ul> 

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

var html = $( "ul.foo" ).html(); 
var nodes = $( html ); 

错误消息是:

Uncaught Error: Syntax error, unrecognized expression: <li>ABC</li> 
            <li>DEF</li>  

您可以在此处查看它的实际效果 http://jsfiddle.net/HDk47/

请您参考如下方法:

jQuery 的解析启发式不喜欢 html 中的前导空格。

删除空格可以解决问题:

var html = $.trim( $( "ul.foo" ).html() ); 

<强> Updated fiddle 。

更新:菲利克斯·克林 dug up documentation reference早在我能够做到之前。