我如何从innerHtml创建一个jQuery对象

How can I create a jQuery object from innerHtml?

本文关键字:一个 jQuery 对象 innerHtml 创建      更新时间:2023-09-26

我有一个字符串,它包含一个对象的innerHtml(通过调用$.html()接收)。

如何创建基于该字符串的jQuery对象?

$(htmlString)

如果你仍然有你调用.html()的原始jQuery对象,你可以使用.children()方法直接访问它的子对象:

var $children = $obj.children();
var newelement= $('<div/>');
newelement.html(htmlString);

这与SLaks的答案略有不同,因为它保留了直接的文本节点子节点。jQuery的$(htmlString)构造快捷方式,像它的许多特性一样,只处理Element节点而不处理Text节点。

如果htmlString'foo<bar>bof</bar>zot',你想保留foozot,你必须这样做。

与Xion的答案类似,如果您想保留直接的文本节点子节点,则必须使用更不常见的contents()方法而不是children()