Попытка найти элемент в контексте на jQuery - PullRequest
3 голосов
/ 13 ноября 2010

Моя цель - найти элемент в контексте, в данном случае набор элементов HTML jQuery.
Мне кажется, что все просто, но почему это не получается ??

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

ref: http://api.jquery.com/jQuery/#expressioncontext

Ответы [ 2 ]

3 голосов
/ 13 ноября 2010

Если вы хотите первый, вы можете получить его по индексу, используя jQuery's .eq() метод .

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

Или, если вы просто хотите, чтобы элемент DOM был развернут, используйте Метод jQuery .get() .

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

... или с использованием квадратных скобок.

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

Вы также можете получить диапазон из них используя .slice().

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

Если вы хотите использовать селектор, см. ответ @ meder .

3 голосов
/ 13 ноября 2010

Используйте .filter.

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

Или просто

s.filter(':first')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...