toggleClass()无法正常工作 - 可能是愚蠢的东西:(

时间:2014-02-24 16:25:42

标签: jquery html

我正在比较.toggleClass()中的function()参数与使用同一任务的选择器的优点。我写了一些非常简单的内容,但却拒绝切换课程.text - 是否有人看错了什么?

HTML:

<img src="http://lorempixel.com/g/400/200/" />
<img src="http://lorempixel.com/g/400/200/" />
<img src="http://lorempixel.com/g/400/200/" />
<img src="http://lorempixel.com/g/400/200/" class="check" />
<button type="submit" tabindex="1">Click me to toggle class</button>

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>

4 个答案:

答案 0 :(得分:2)

试试这个jquery:

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

答案 1 :(得分:2)

Fiddle Demo

您需要Class Selector (“.class”)

$("img.check:nth-child(even)").toggleClass("text");

<小时/> 问题

Attribute Equals Selector [name="value"]

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

但是,当您向clas添加课程text变为check text时。

答案 2 :(得分:2)

添加text课程后,[class='check']与您的元素不匹配,因为该课程实际上是check text。请尝试使用类选择器:

http://jsfiddle.net/2P2A3/

$("img.check:nth-child(even)")

答案 3 :(得分:0)

您的代码几乎是正确的。

$(function(){
  $("button").click(function(){
    $("img.check:nth-child(even)").toggleClass("text");
  });
});

这是一个小提琴http://jsfiddle.net/L3S9u/它对我来说很好。

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