1

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

如果我有这个:

 <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

4 回答 4

9

您可以调用 attr 方法来获取所需元素的任何底层属性。

$('.toggle:checked').attr('class').match(/toggle\-.+?\b/); 
于 2009-12-17T23:20:58.463 回答
6

className 是标准 DOM 成员,而不是 jQuery 包装器属性。通过$('something')[0].className或 jQuery访问$('something').attr('class'),但您不能混合使用它们。

您似乎有多个radio没有共享的name?那是行不通的,它们都将充当单独的可检查字段。属于一起的所有radio控件都需要具有相同name(但不同value)并放置在相同的表单中。

于 2009-12-18T00:49:15.183 回答
0

您不需要 jQuery 要查看的所有项目的 Id 吗?

于 2009-12-17T23:20:49.540 回答
0
$('.toggle:checked').hasClass('toggle-2');
于 2009-12-17T23:31:04.160 回答