定位单击的元素

时间:2016-03-12 02:51:07

标签: javascript jquery html

Fiddle

我正在尝试制作一个按钮,在制作img灰度和正常之间切换。如果点击按钮,我需要找到一种正确定位按钮的方法。我尝试在点击时添加一个类,然后定位该类。我也试过这个。

$('.switch').on("click", function() {
    if($(this).attr('data-click-state') == 1) {
        $(this).attr('data-click-state', 0)
        $(this).siblings('img').css("-webkit-filter", "grayscale(100%)");
    } else {
        $(this).attr('data-click-state', 1)
        $(this).siblings('img').css("-webkit-filter", "none");
    }
});

为什么按钮不会在彩色和灰度版本之间切换? 显然问题不在我的jQuery中,而在我的html中,所以是不可能在复选框标签上使用这个jquery?

1 个答案:

答案 0 :(得分:1)

当您按下按钮一次时,它会检测到两次点击。我在if语句之外设置了一个警报,每次点击我会得到两次,所以你的问题就在于它。

我还在检查它,但是现在需要弄清楚它为什么会发生的问题会更新。

更新: 是的先生,这就是我在评论中说的原因......这是一个固定的,你可以随心所欲地使用它。

set.seed(1337)
ts1 <- data.frame(replicate(10,sample(0:1,10,rep=TRUE)))
ts2 <- data.frame(replicate(10,sample(0:1,10,rep=TRUE)))
ts3 <- data.frame(replicate(10,sample(0:1,10,rep=TRUE)))

k<- list(ts1=ts1,ts2=ts2,ts3=ts3)

新HTML SNIP:

R

正如您可以看到的那样,如果您查看输入,我添加了$('#cmn-toggle-1').on("click", function() { if($(this).attr('data-click-state') == '1') { $(this).attr('data-click-state', '0') $(this).parents().siblings('img').css("-webkit-filter", "grayscale(100%)"); } else { $(this).attr('data-click-state', '1') $(this).parents().siblings('img').css("-webkit-filter",""); } });