#jquery #jquery-selectors
#jquery #jquery-селекторы
Вопрос:
Допустим, у меня есть функция jquery в JavaScript, и у меня пока есть этот код, который отлично работает:
jQuery('div[class="someClass"] input[type="text"]').each( function() { //some code} . . .
В приведенном выше коде, как я могу настроить таргетинг на несколько типов входных данных, таких как текстовое поле, выпадающий список и т.д. Я довольно новичок в jQuery, поэтому я не в курсе формата, поиск в Google не выявил ничего существенного! Пожалуйста, помогите.
Комментарии:
Ответ №1:
Если вы готовы выбрать все дочерние элементы, относящиеся к этим типам:
input
textarea
select
button
вы можете использовать :input
селектор.
jQuery('div.someClass :input').each(function() {...
В противном случае вы можете сделать это в большом селекторе, используя множественный селектор, как предлагает Никлас. Последний вариант — сократить это, используя два выбора. Это может быть немного медленнее, но будет значительно более читаемым:
jQuery('div.someClass').find('input[type="text"], select, textarea').each(function(){...
Обратите внимание, что я использовал селектор классов, чтобы сделать ваш селектор немного аккуратнее.
Ответ №2:
Разделяйте их запятой:
jQuery('div[class="someClass"] input[type="text"], div[class="someClass"] textarea, div[class="someClass"] select').each( function() { //some code}
Ответ №3:
Попробуйте это:
jQuery('div[class="someClass"] :input').each(function(){
//Do Something..
})
чтобы избежать элементов button, попробуйте:
jQuery('div[class="someClass"] :input:not(:button)').each(function(){
//Do Something..
})