Jquery: выделение внутри выделения

#jquery #selection

#jquery #выделение

Вопрос:

У меня есть массив различных элементов, сохраненных из предыдущего выделения, назовите его ‘ a ‘.

Как мне затем выполнить другое выделение из этого предыдущего выделения ( a ) и просто вернуть элементы типа input ?

Ответ №1:

 a.filter('input').each(function() {
    alert('My name is '   $(this).attr('name'));
});
  

Чтобы просто получить выделение из текущего выделения таким образом:

 var $inputs = a.filter('input');
  

Вы можете даже разделять селекторы запятой:

 var $els = a.filter('input, .fooMonger, #something');
  

Смотрите http://docs.jquery.com/Traversing/filter

Ответ №2:

 $('input', a);
  

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

1. Это выполняет поиск входных тегов среди потомков a , и это работает.

2. Я думаю, что это $(‘input’, ‘a’);

3. Нет, это не так. a является объектом jQuery, как указано в вопросе.

Ответ №3:

 $(a).find("input")
  

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

1. Если a оно получено из предыдущего выделения jQuery, нет необходимости его обтекать $() .

2. поиск не будет работать при поиске элементов-потомков, это все элементы уровня 1.

3. Я запустил ответ с помощью функции filter, затем отредактировал и изменил на find, потому что ваш вопрос был неясен.