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


120

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

 $("input:checkbox .myClass")

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

Ответы:


210

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

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

$("input.myClass:checkbox")

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

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

$("input:checkbox.myClass")

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


51

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

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

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


6

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

Например:

$("input.aclass:checkbox")

:checkboxСелектор:

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

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


4

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

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

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


1
ответ не имеет отношения к вопросу.
Авниш алок

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


3

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

$(':button.myclass')
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.