use*_*619 133 html javascript jquery
我有一个包含多个子节点的大HTML字符串.
是否可以使用此字符串构造jQuery DOM对象?
我试过$(string)但它只返回一个包含所有单个节点的数组.
试着获得一个我可以使用.find()函数的元素.
the*_*dox 192
从jQuery 1.8开始,我们可以使用$ .parseHTML,它将HTML字符串解析为DOM节点数组.例如:
var dom_nodes = $($.parseHTML('<div><input type="text" value="val" /></div>'));
alert( dom_nodes.find('input').val() );
Run Code Online (Sandbox Code Playgroud)
var string = '<div><input type="text" value="val" /></div>';
$('<div/>').html(string).contents();
Run Code Online (Sandbox Code Playgroud)
$('<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() );
Run Code Online (Sandbox Code Playgroud)
kip*_*ney 117
从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));
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个JSFidle来演示这个:http://jsfiddle.net/MCSyr/2/
它将任意HTML字符串解析为jQuery对象,并使用find在div中显示结果.
Flo*_*ine 12
var jQueryObject = $('<div></div>').html( string ).children();
Run Code Online (Sandbox Code Playgroud)
这将创建一个虚拟jQuery对象,您可以在其中将字符串作为HTML.然后,你只有孩子.