Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 toggleClass()不工作-可能是一些愚蠢的事情:(_Jquery_Html - Fatal编程技术网

Jquery toggleClass()不工作-可能是一些愚蠢的事情:(

Jquery toggleClass()不工作-可能是一些愚蠢的事情:(,jquery,html,Jquery,Html,我正在比较.toggleClass()中的function()参数与为同一任务使用选择器的优点。我写了一些非常简单的东西,但它拒绝切换类。text-有人看到任何错误吗 HTML: 单击我切换类 jQuery: <script> // check if img has class 'check' and is an even child .. $(function(){ $("button").click(function(){ $("img:nth-chi

我正在比较
.toggleClass()
中的function()参数与为同一任务使用选择器的优点。我写了一些非常简单的东西,但它拒绝切换类
。text
-有人看到任何错误吗

HTML:


单击我切换类
jQuery:

<script>
// check if img has class 'check' and is an even child ..
$(function(){
    $("button").click(function(){
        $("img:nth-child(even)[class='check']").toggleClass("text");
    });
});
</script>

//检查img是否有“检查”类,是否为偶数儿童。。
$(函数(){
$(“按钮”)。单击(函数(){
$(“img:n个子项(偶数)[class='check']]);
});
});
试试这个jquery:

// check if img has class 'check' and is an even child ..
$(function(){
    $("button").click(function(){
        $("img.check:nth-child(even)").toggleClass("text");
    });
});
尝试以下jquery:

// check if img has class 'check' and is an even child ..
$(function(){
    $("button").click(function(){
        $("img.check:nth-child(even)").toggleClass("text");
    });
});

你需要


问题

[class='check']
匹配只有class
check的元素

但是,当您将class
text
添加到clas中时,它将变成
检查text

你需要


问题

[class='check']
匹配只有class
check的元素


但是,当您将类
文本添加到clas时,当您添加
文本
类后,
[class='check']
将与您的元素不匹配,因为该类实际上是
检查文本
。请尝试使用类选择器:


添加
文本
类后,
[class='check']
将与元素不匹配,因为该类实际上是
检查文本
。请尝试使用类选择器:


您的代码似乎几乎正确

$(function(){
  $("button").click(function(){
    $("img.check:nth-child(even)").toggleClass("text");
  });
});
这是一把小提琴,我用得很好


抱歉,忘记粘贴正确的代码。

您的代码似乎几乎正确

$(function(){
  $("button").click(function(){
    $("img.check:nth-child(even)").toggleClass("text");
  });
});
这是一把小提琴,我用得很好


很抱歉,忘记粘贴正确的代码。

演示:下面的答案可以解决您的问题。但是,如果将来某个时候,您需要使用属性类型选择器来执行类似操作,您可以使用
[属性~=“值”]
(属性包含)选择器。有很多属性选择器可供您使用。这是一个完整的列表。仅供参考,您的小提琴是否已更新以显示属性包含选择器。也就是说,首选方法是下面的答案中所述的方法。嗯……不确定。我实际上从未使用过
.toggleClass()
函数。不过,使用选择器的好处是,jQuery将为您处理繁重的工作。我可以想象,选择器会更快,因为大多数时候,jQuery使用的是本机
document.querySelector()
document.querySelectorAll()
函数在可用时在内部运行。本机函数总是比自定义函数运行得更快。演示:下面的答案可以解决您的问题。但是,如果将来某个时候,您需要使用属性类型选择器执行类似操作,您可以使用
[属性~=“值”]
(属性包含)选择器。有很多属性选择器可供您使用。这是一个完整的列表。仅供参考,您的小提琴是否已更新以显示属性包含选择器。也就是说,首选方法是下面的答案中所述的方法。嗯……不确定。我实际上从未使用过
.toggleClass()
函数。不过,使用选择器的好处是,jQuery将为您处理繁重的工作。我可以想象,选择器会更快,因为大多数时候,jQuery使用的是本机
document.querySelector()
document.querySelectorAll()
函数在可用时在内部运行。本机函数总是比自定义函数运行得更快。它只在第一次运行时才起作用。之后,
class
属性包含的
class=“check text”
将永远不匹配…1)它不起作用,因为它从不删除类。2) “你的代码有效”应该是一个注释,而不是一个答案。它只会在第一次起作用。之后,
class
属性包含永远不会匹配的
class=“check text”
,1)它不起作用,因为它永远不会删除该类。2) “你的代码有效”应该是一个注释,而不是一个答案。好吧,这很有意义,但我还有一个问题(如果你想回答的话)。如何知道何时在其他方法和选择器上使用遍历方法/函数参数?似乎只有一种解决方案可以完成的事情很少。通常,当您想要选择一个元素相对于其他元素时,您会使用遍历方法。例如,我应该使用
.toggleClass()的函数参数过滤奇数元素(使用类“check”)吗
还是像我的问题中那样使用选择器更好?啊,我通常使用jquery方法的函数参数,当我想根据每个元素的特定情况做一些不同的事情时。但是我仍然会事先用选择器过滤列表,所以我只调用应该对其执行操作的元素的函数。所以在你的情况下,我认为你是对的。这就是你要问的吗?好吧,这很有道理,但我还有一个问题(如果你想回答的话)。如何知道何时在其他方法和选择器上使用遍历方法/函数参数?似乎只有一种解决方案可以完成的事情很少。通常,当您想要选择一个元素相对于其他元素时,您会使用遍历方法。例如,我应该使用
.toggleClass()的函数参数过滤奇数元素(使用类“check”)吗
还是像我的问题中那样使用选择器更好?啊,我通常使用jquery方法的函数参数,当我想根据每个元素的特定情况做一些不同的事情时。但是我仍然会事先用选择器过滤列表,所以我只调用应该对其执行操作的元素的函数。所以在你的情况下,我认为你是对的。这就是你要问的吗?
$(function(){
  $("button").click(function(){
    $("img.check:nth-child(even)").toggleClass("text");
  });
});