Jquery находит в массиве элементов

#jquery

#jquery

Вопрос:

Я выбрал кучу элементов li, которые соответствуют определенным критериям, вот так:

 var x = $('li[attribute="value"]');
  

Теперь, вместо повторного поиска в dom, я хочу выполнить поиск в x для тега li, который имеет определенный идентификатор. Я мог бы использовать .каждый для поиска x, но было интересно, есть ли однострочный оператор, который я мог бы использовать.

что-то вроде этого:

 var myLi = x.find("[id=23]");
  

или быстрее выполнять поиск в dom с использованием тега id. Что, если бы я захотел выполнить поиск по второму атрибуту?

Пожалуйста, сообщите.

Спасибо!

Редактировать

Пожалуйста, обратите внимание, что я хочу изменить свойства myLi (скажем, сделать его цвет фона красным), поэтому мне нужна ссылка на элемент. Спасибо.

Комментарии:

1. если вы предоставляете fiddle, то легко решить вашу проблему

2. Я бы сказал, сначала идите простым путем (выполните поиск идентификатора в DOM) и посмотрите, окажет ли это какое-либо влияние. Выполните некоторое профилирование, если хотите. Если вы ищете другой атрибут, то да, фильтрация текущего списка лучше.

Ответ №1:

Вы можете сделать это:

 var myLi = x.filter('#23');
  

jquery.filter(): Сократите набор подобранных элементов до тех, которые соответствуют
селектор или передать функции
тест.

Ответ №2:

Ниже приведены различные способы, которыми вы можете получить элемент, начиная с самого быстрого

Профилированный результат

  1. Селектор идентификаторов
  2. .filter()
  3. .find()