2009-11-28 78 views
17

我想知道是否有方法将字符串转换为jQuery对象,并选择内部元素而不将整个字符串注入DOM并在其中进行操作。谢谢。将字符串转换为jQuery对象并选择内部元素

如果可能的话,请给我举例转换

<div id=a1></div> 
<div id=a3></div> 

,并从对象变量选择A1。

回答

26

这将创建HTML元素,并找到A1元素:

var element = $('<div id="a1"></div><div id="a3"></div>').filter('#a1').get(0); 
6

做到这一点,正确的方法是:

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指出了这一点。

+2

不,您已转换为'$().find('#a1')',而'find'不搜索集合中的顶级元素。然而@ Guffa的'filter'答案确实如此。 – 2009-11-28 02:28:27