我想知道是否有方法将字符串转换为jQuery对象,并选择内部元素而不将整个字符串注入DOM并在其中进行操作。谢谢。将字符串转换为jQuery对象并选择内部元素
如果可能的话,请给我举例转换
<div id=a1></div>
<div id=a3></div>
,并从对象变量选择A1。
我想知道是否有方法将字符串转换为jQuery对象,并选择内部元素而不将整个字符串注入DOM并在其中进行操作。谢谢。将字符串转换为jQuery对象并选择内部元素
如果可能的话,请给我举例转换
<div id=a1></div>
<div id=a3></div>
,并从对象变量选择A1。
这将创建HTML元素,并找到A1元素:
var element = $('<div id="a1"></div><div id="a3"></div>').filter('#a1').get(0);
做到这一点,正确的方法是:
var a1 = $('<div id="a1"></div><div id="a3"></div>').filter('#a1')[0];
获取的DOM元素了与[0]
相当于.get(0)
。
更新:有意思,我从来没有碰到过这样的极端情况,但在此之前:
var a1 = $("#a1", "<div id=a1><//div><div id=a3><//div>")[0];
当元素是在顶层,我认为是不工作一个错误。我以前从来没有遇到过这种情况,所以我想我会把它留在这里作为一个警示性的故事。感谢Crescent Fresh指出了这一点。
不,您已转换为'$().find('#a1')',而'find'不搜索集合中的顶级元素。然而@ Guffa的'filter'答案确实如此。 – 2009-11-28 02:28:27