将字符串转换为jQuery对象并选择内部元素

HP.*_*HP. 17 html javascript jquery dom

我想知道是否有办法将字符串转换为jQuery对象并选择内部元素而不将整个字符串注入DOM并在那里操作它.谢谢.

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

<div id=a1></div>
<div id=a3></div>
Run Code Online (Sandbox Code Playgroud)

并从对象变量中选择a1.

Guf*_*ffa 26

这将从html创建元素并找到a1元素:

var element = $('<div id="a1"></div><div id="a3"></div>').filter('#a1').get(0);
Run Code Online (Sandbox Code Playgroud)


cle*_*tus 6

正确的方法是:

var a1 = $('<div id="a1"></div><div id="a3"></div>').filter('#a1')[0];
Run Code Online (Sandbox Code Playgroud)

获取DOM元素[0]等同于.get(0).

更新:有趣的是,我从来没有遇到过这个角落,但是这个:

var a1 = $("#a1", "<div id=a1><//div><div id=a3><//div>")[0];
Run Code Online (Sandbox Code Playgroud)

当元素处于顶层时,它不起作用,我认为这是一个错误.我之前从未遇到过这种情况所以我以为我会把它留在这里作为一个警示故事.感谢Crescent Fresh指出这一点.

  • 不,你有什么翻译成`$(<html>).find('#a1')`和`find`不会搜索集合中的顶级元素.然而,@ Guffa的`过滤器'答案确实如此. (2认同)