我在这个网站的某个地方找到了这个非常有用的代码:
$('input[type="checkbox"]').on('change', function() {
$('input[name="' + this.name + '"]').not(this).prop('checked', false);
});
但是,我更喜欢按类而不是按名字来识别我的复选框,所以我尝试将代码段更改为:
$('input[type="checkbox"]').on('change', function() {
$('input[class="' + this.class + '"]').not(this).prop('checked', false);
});
但由于某种原因,这不起作用。我很确定我犯了一个非常基本的错误,但是如果你能帮我解决这个问题,那就太棒了。
答案 0 :(得分:0)
要从输入中获取类,请使用jQuery attr
并指向变量:
作为评论中的stated by e_i_pi,使用var class
会更安全一些,因为它将变量类的范围限制为它所定义的函数。
var class = $(this).attr('class');
所有在一起:
$('input[type="checkbox"]').on('change', function() {
var class = $(this).attr('class');
$('input.' + class).not(this).prop('checked', false);
});
答案 1 :(得分:0)
element.class
不是有效的DOM属性:
console.log(document.getElementById('test').class);
<div id="test" class="foo"></div>
您必须改为使用element.className
:
console.log(document.getElementById('test').className);
<div id="test" class="foo"></div>