Подтвердить что ты не робот

Есть ли "или" селектор атрибутов, например input [type = button | text]?

Я пытаюсь выбрать все элементы input на странице, но не те, которые имеют тип image, button или submit. Сначала мне приходилось выбирать все input элементы типа text, затем все типа checkbox и т.д.

Однако это не очень элегантно. Мне было интересно, есть ли здесь какая-нибудь лучшая техника. Что было бы полезно, например, селектор типа input[type=text|checkbox|radio|password|etc], но это, похоже, не доступно.

Я знаю, что я также могу выбрать все input, а затем отфильтровать их с помощью .filter(), но есть ли более общий селектор для выбора элементов, имеющих один из списков атрибутов?

4b9b3361

Ответ 1

Поскольку вы хотите включить все, кроме нескольких конкретных типов, попробуйте следующее:

$('input:not([type=image],[type=button],[type=submit])')

Ответ 2

$('input[type=text], input[type=checkbox], input[type=radio]').stuff();

или (взято из комментариев)

$('input:not([type=image],[type=button],[type=submit]')

Ответ 3

В CSS вы можете иметь такие селектора, как:

input[type=text],input[type=checkbox],input[type=radio],input[type=password]

возможно, это работает и в jQuery.

Ответ 4

Я знаю его старый, но я считаю, что лучшим элегантным решением для этого было бы дать им общий класс, а затем использовать его как селектор?

Ответ 5

Вышеуказанные ответы не совсем верны.

В зависимости от id (#) эти методы, похоже, терпят неудачу.

По моему опыту нам нужно добавить id для каждого оператора or.

Так же:

$('#id input[type=text], #id input[type=checkbox], ...