我正在尝试获取与已检查输入的正则表达式匹配的类的名称。
如果我有这个:
<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/);
但是这产生了'className is undefined'错误。
我认为我的问题是我正在对jQuery对象使用className。但我不确定替代方案是什么。
答案 0 :(得分:9)
您可以调用attr方法来获取所需元素的任何基础属性。
$('.toggle:checked').attr('class').match(/toggle\-.+?\b/);
答案 1 :(得分:6)
className是标准DOM成员,而不是jQuery包装器属性。可以通过$('something')[0].className
或jQuery $('something').attr('class')
访问,但不能混用它们。
您似乎有多个radio
没有共享name
?这不起作用,他们都将分别作为可检查的字段。属于一起的所有radio
控件都需要具有相同的name
(但不同的value
s),并且可以放在同一个表单中。
答案 2 :(得分:0)
你不需要jQuery所有项目的ID吗?
答案 3 :(得分:0)
$('.toggle:checked').hasClass('toggle-2');