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') повільного селектора. Це рекомендується робити $('input:checkbox').

Ви повинні прочитати документацію jQuery, щоб знати про селектори.


4

Ви повинні використовувати назву класу, як це

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

Спробуйте скористатися цією демо-версією


1
відповідь не стосується питання.
Авниш алок

1
все ж відповідь цілком допомагає іншим, хто шукає подібні речі, але не точне питання ОП.
camdixon


3

На випадок, якщо якісь манекени, як я, спробували тут пропозиції, натиснувши кнопку, і нічого не знайшлося, ви, мабуть, хочете цього:

$(':button.myclass')
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.