试图在jQuery的上下文中找到一个Element

时间:2010-11-13 01:04:29

标签: jquery jquery-selectors

我的目标是在上下文中找到一个元素,在本例中是一组jQuery HTML元素 我看起来很容易,但为什么会失败?

s= "<h3 id='boi'> Oi putinho </h3> <p sub='a#b'> Oi oaosidoias aosd asoid aosidoi asodi sa </p>"

j(':first') // => [html]
j(s) // => [h3#boi, <TextNode textContent=" ">, p]
j(':first', j(s)) // => [] ?! Fail

参考:http://api.jquery.com/jQuery/#expressioncontext

2 个答案:

答案 0 :(得分:3)

使用.filter

$(s).filter(':first')

或者只是

s.filter(':first')

答案 1 :(得分:3)

如果您想要第一个,可以使用jQuery's .eq() method按索引获取。

j(s).eq( 0 ); // Get wrapped element at index 0 (first item)

或者,如果您只想展开DOM元素,请使用jQuery's .get() method

j(s).get( 0 ); // Get DOM element at index 0 (first item)

...或使用方括号表示法。

j(s)[ 0 ]; // Get DOM element at index 0 (first item)

您还可以获得一系列using .slice()

j(s).slice( 0, 2 );  // Get the first two elements, wrapped in jQuery

如果您想使用选择器see @meder's answer