jQuery: выбор по классу и типу ввода

120

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

 $("input:checkbox .myClass")

Я не получаю никаких возвратов. Как я могу сделать это в jQuery?

Брайан Салливан
источник

Ответы:

210

Ваш селектор ищет любых потомков элемента флажка с классом .myClass.

Попробуйте вместо этого:

$("input.myClass:checkbox")

Проверьте это в действии .

Я также тестировал это:

$("input:checkbox.myClass")

И он тоже будет нормально работать. По моему скромному мнению, этот синтаксис действительно выглядит довольно некрасиво, так как в большинстве случаев я ожидаю, что :селекторы стилей будут последними. Как я уже сказал, любой из них будет работать.

Паоло Бергантино
источник
51

Если вы хотите получить входные данные этого типа с помощью этого класса:

$("input.myClass[type=checkbox]")

синтаксис селектора [] позволяет вам проверять любой из атрибутов элементов. Ознакомьтесь со спецификацией для получения более подробной информации

BaroqueBobcat
источник
6

Вы должны использовать (для флажков) :checkboxи .nameатрибут для выбора по классу.

Например:

$("input.aclass:checkbox")

:checkboxСелектор:

Соответствует всем элементам ввода типа checkbox. Использование этого псевдо-селектора $(':checkbox')эквивалентно $('*:checkbox') медленному селектору. Рекомендуется сделать $('input:checkbox').

Вы должны прочитать документацию jQuery, чтобы узнать о селекторах.

eKek0
источник
4

Вы должны использовать такое имя класса

$(document).ready(function(){
    $('input.addCheck').prop('checked',true);
});

Попробуйте использовать эту живую демонстрацию

Ахил Чандран
источник
1
ответ не имеет отношения к вопросу.
Авниш алок
1
однако ответ полностью полезен для других, которые ищут похожие вещи, но не точный вопрос OP.
camdixon
3

Попробуй это:

$("input:checkbox").hasClass("myClass");
Фабио Падуя
источник
3

На всякий случай, если какие-то манекены, как я, попробовали предложения здесь с помощью кнопки и не обнаружили, что ничего не работает, вы, вероятно, захотите это:

$(':button.myclass')
iforce2d
источник