从大型 HTML 字符串创建 jQuery 对象
2022-08-30 02:30:51
我有一个包含多个子节点的大HTML字符串。
是否可以使用此字符串构造 jQuery DOM 对象?
我试过,但它只返回一个包含所有单个节点的数组。$(string)
想得到一个元素,我可以使用.find()函数。
我有一个包含多个子节点的大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();
$('<div/>')
是 DOM 中不存在的假货<div>
$('<div/>').html(string)
作为孩子附加到那个假货中string
<div>
.contents()
将该 fake 的子项检索为 jQuery 对象<div>
.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));
我创建了一个JSFidle来演示这一点:http://jsfiddle.net/MCSyr/2/
它将任意 HTML 字符串解析为 jQuery 对象,并使用 find 在 div 中显示结果。