Фильтр с исключением для скрытых полей ввода

#jquery #filter

#jquery #Фильтр

Вопрос:

Очевидно, что следующее — это поиск элементов, которые начинаются с класса «output_» и являются видимыми. Мой вопрос к вам: как я могу включить скрытые поля ввода?

 $.each($(".output_" value).filter(":visible"), function(index2, value2) {

    alert($(this).attr('id'))

});
  

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

1. Вы имели в виду все скрытые элементы или скрытые элементы с определенными классами?

Ответ №1:

Вы можете сгладить filter вызов прямо в селекторе, а затем использовать множественный селектор:

 $('.output_'   value   ':visible, input[type=hidden]').each(function(i, el) {
    alert(el.id);
});
  

Здесь нет необходимости использовать $.each , вы можете просто использовать .each вместо этого. Кроме того, в этом нет необходимости $(x).attr('id') , вы можете просто получить id свойство прямо из элемента с x.id помощью .

Ответ №2:

Используйте .add() функцию, подобную приведенной ниже

 $.each($(".output_" value).filter(":visible").add(":hidden"), function(index2, value2) {

    alert($(this).attr('id'))

});
  

http://api.jquery.com/add/