$('input.plan-select').change(function() {
// alert('Handler for .change() called.');
$(".subscription", this).toggleClass('selected');
});
小提琴:http: //jsfiddle.net/XPVVp/
由于某种原因,它不会切换课程,我不确定它为什么不起作用。
$('input.plan-select').change(function() {
// alert('Handler for .change() called.');
$(".subscription", this).toggleClass('selected');
});
小提琴:http: //jsfiddle.net/XPVVp/
由于某种原因,它不会切换课程,我不确定它为什么不起作用。
那是因为.subscription
select 不是input
您的代码编写方式的元素的子元素。相反,该.subscription
元素是父元素,因此您需要使用正确的 jQuery 操作来找到正确的父元素,如下所示:
$('input.plan-select').change(function() {
// alert('Handler for .change() called.');
$(this).closest(".subscription").toggleClass('selected');
});
.closest()
将查找父链,直到找到与选择器匹配的第一个父链。
在这里工作演示:http: //jsfiddle.net/jfriend00/krTER/
因为input
它在.subscription
div 元素内,反之亦然。所以.subscription
下面没有元素this
......没有什么适用toggleClass()
的。你到底想达到什么目的?
$('input.plan-select').change(function() {
// alert('Handler for .change() called.');
$([".subscription", this]).toggleClass('selected');
});
似乎在工作
我真的不知道你想用那个选择器做什么......你可以使用“this”选择器来获取单选按钮,然后使用 .parent() 指令上升一级。
$('input.plan-select').change(function() {
// alert('Handler for .change() called.');
$(this).parent().toggleClass('selected');
});
你也可以使用
$('.subscription').toggleClass('selected');
如果您只有所述类的一个元素。