2011-06-16 3 views
3

я хочу знать, если есть способ использовать JQuery (в цепном способе), чтобы выбрать следующее:Есть ли способ, чтобы выбрать первый элемент из коллекции типов

<div class="panel"> 
    <input id="first" type="text" /> 
    <input id="second" type="text" /> 
</div> 

<div class="panel"> 
    <h2>Panel title</h2> 
    <textarea id="third"></textarea> 
    <input id="fourth" type="text" /> 
</div> 

<div class="panel"> 
    <p>Some paragraph</p> 
    <select id="fifth"></select> 
    <input id="sixth" type="text" /> 
</div> 

Я хотел бы выберите первый элемент формы (то есть либо input/select/textarea), которые существуют в каждом .

Итак, в приведенном выше примере мой селектор jQuery возвратит коллекцию из трех элементов: input#first, textarea#third и select#fifth.

Следующий цикл даст мне результаты, которые я получаю после, но, безусловно, есть более чистый способ в соответствии с jQuery, который может сделать это за один раз?

var firstFormFieldList = []; 

$('.panel').each(function(i, el){ 
    var firstEl = $(el).find('input,select,textarea').filter(':first'); 
    firstFormFieldList.push(firstEl); 
}); 

ответ

9

Вы ищете :input селектор (DOCS):

$('.panel').find(':input:first') 

Example

+0

будет t шляпа выбрать