jQuery className问题

时间:2009-12-17 23:18:40

标签: jquery classname

我正在尝试获取与已检查输入的正则表达式匹配的类的名称。

如果我有这个:

 <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。但我不确定替代方案是什么。

4 个答案:

答案 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');