从大HTML字符串创建jQuery对象

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

是否可以使用此字符串构造 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();

这段代码中发生了什么:

  • $('<div/>')<div>DOM中不存在的伪造品
  • $('<div/>').html(string)作为孩子string在假货中附加<div>
  • .contents()检索该假<div>对象的子代作为jQuery对象

如果您想.find()工作,请尝试以下操作:

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

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

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

以上是 从大HTML字符串创建jQuery对象 的全部内容, 来源链接: utcz.com/qa/408905.html

回到顶部