Вопрос

Я пытаюсь получить имя класса, соответствующее регулярному выражению проверенного ввода.

Если у меня есть это:

 <input type="radio" class="toggle toggle-1" />
 <input type="radio" class="toggle toggle-2" checked="checked" />
 <input type="radio" class="toggle toggle-3" />

Я хочу выяснить, что «toggle-2» — это проверенный класс.

 $('.toggle:checked').className.match(/toggle\-.+?\b/);

Но это привело к ошибкам «имя класса не определено».

Я думаю, моя проблема в том, что я использую имя класса для объекта jQuery.Но я не совсем уверен, какова альтернатива.

Это было полезно?

Решение

Вы можете вызвать метод attr, чтобы получить любые базовые атрибуты нужного вам элемента.

$('.toggle:checked').attr('class').match(/toggle\-.+?\b/); 

Другие советы

className — это стандартный член DOM, а не свойство-оболочка jQuery.Либо доступ через $('something')[0].className или jQuery $('something').attr('class'), но смешивать их нельзя.

Кажется, у вас есть несколько radioбез общего name?Это не сработает, все они будут действовать как отдельно проверяемые поля.Все radio элементы управления, которые принадлежат друг другу, должны иметь одинаковые name (но другое value​s) и размещаться в одной и той же форме.

Разве вам не нужен идентификатор для всех элементов, на которые должен смотреть jQuery?

$('.toggle:checked').hasClass('toggle-2');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top