从大型HTML-字符串创建jQuery对象

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (51)

我有一个包含多个子节点的大HTML字符串。

是否可以构造一个jQuery使用这个字符串的DOM对象?

我试过$(string)但是它只返回一个包含所有单个节点的数组。

我试图获得一个元素,我可以在其中使用.find()函数。

提问于
用户回答回答于

在jQuery 1.8中,我们可以使用$.parseHTML,它将将HTML字符串解析为DOM节点数组。例如:

var dom_nodes = $($.parseHTML('<div><input type="text" value="val" /></div>'));

alert( dom_nodes.find('input').val() );


var string = '<div><input type="text" value="val" /></div>';

$('<div/>').html(string).contents();

如果你想.find()工作然后尝试如下:

var string = '<div><input type="text" value="val" /></div>',
    object = $('<div/>').html(string).contents();

alert( object.find('input').val() );
用户回答回答于

从jQuery 1.8开始,只需使用parseHtml创建jQuery对象:

var myString = "<div>Some stuff<div>Some more stuff<span id='theAnswer'>The stuff I am looking for</span></div></div>";
var $jQueryObject = $($.parseHTML(myString));

它将任意HTML字符串解析为jQuery对象,并使用find在div中显示结果。

扫码关注云+社区

领取腾讯云代金券