Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 更改回调函数_Jquery - Fatal编程技术网

Jquery 更改回调函数

Jquery 更改回调函数,jquery,Jquery,小提琴: 由于某种原因,它没有切换类,我不确定它为什么不工作。因为输入在.subscriptiondiv元素中,反之亦然。因此,此下面没有.subscription元素。。。没有要应用的toggleClass()。你到底想实现什么?这是因为.subscriptionselect不是输入元素的子元素,而该元素就是编写代码的方式。相反,.subscription元素是一个父元素,因此您需要使用正确的jQuery操作来查找合适的父元素,如下所示: $('input.plan-select').chan

小提琴:


由于某种原因,它没有切换类,我不确定它为什么不工作。

因为
输入
.subscription
div元素中,反之亦然。因此,此下面没有
.subscription
元素。。。没有要应用的
toggleClass()
。你到底想实现什么?

这是因为
.subscription
select不是
输入
元素的子元素,而该元素就是编写代码的方式。相反,
.subscription
元素是一个父元素,因此您需要使用正确的jQuery操作来查找合适的父元素,如下所示:

$('input.plan-select').change(function() {
  // alert('Handler for .change() called.');
  $(".subscription", this).toggleClass('selected');
});
.closest()
将查找父链,直到找到与选择器匹配的第一个父链

在此进行工作演示:


似乎正在工作

我真的不知道你想用那个选择器做什么。。。 您可以使用“this”选择器获取单选按钮,然后使用.parent()指令将其提升一级

$('input.plan-select').change(function() {
  // alert('Handler for .change() called.');
  $([".subscription", this]).toggleClass('selected');
});
你也可以使用

$('input.plan-select').change(function() {
    // alert('Handler for .change() called.');
    $(this).parent().toggleClass('selected');
});

如果您只有所述类的一个元素。

一个
输入是一个无效元素:它不能包含任何其他元素。因此,使用它作为选择器的上下文将永远也不会找到元素。你到底想做什么?啊,是的,但我想知道为什么我的不行?我敢肯定,在我对同样的语法感到疑惑之前,我就使用了这种语法,因此我的怀疑评论——“似乎正在工作”实际上已经有一段时间没有使用jquery了。查看其文档,jQuery(选择器,[context]);因此jQuery(选择器,…)将无法工作。但是,您可以提供jQuery(selectorArray);这就是你的方法不起作用的原因。这正被用作上下文。
$('input.plan-select').change(function() {
    // alert('Handler for .change() called.');
    $(this).parent().toggleClass('selected');
});
$('.subscription').toggleClass('selected');