更改左右图标“切换”

时间:2015-07-09 12:41:11

标签: jquery css

当我点击右边的图标并再次点击左边时需要

要做到这一点,我写了一个风格css "shareleft"& "shareright"

我使用jQuery代码来更改图标样式

   $(".share").click(function () {
    $(".share > ul").slideToggle();
    $(".share").toggleClass("shareleft shareright");
   })

但页面上有很多图标

点击其中一个,切换所有图标

但我只想更改图标"click on"

2 个答案:

答案 0 :(得分:4)

jQuery点击处理程序实际上为您提供了确切的元素(请参阅http://api.jquery.com/on/http://api.jquery.com/click/)。您可以使用e.targetthis来获取点击的元素:

$(".share").click(function (e) {
    var $el = $(this); // Could also use $(e.target);
    $el.children("ul").slideToggle();
    $el.toggleClass("shareleft shareright");
})

答案 1 :(得分:0)

这是因为您函数中的选择器正在收集ul元素的所有元素.share以及类.share的所有元素。

在你的功能中你有:

$(".share > ul").slideToggle();
$(".share").toggleClass("shareleft shareright");

$(".share > ul")正在选择ul元素的所有.share,而$(".share")正在选择应用了.share类的所有元素。< / p>

使用关键字this来引用已点击的元素。

$(".share").click(function(e) {
    var $this - $(this);
    $this.children("ul").slideToggle();
    $this.toggleClass("shareleft shareright");
});

如果您想知道为什么在变量名称的开头有$,因为jQuery由$表示,并按惯例将$放在开头变量名称告诉我们这个变量是一个jQuery对象。