Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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
Javascript 使用jquery以单击的元素为目标_Javascript_Jquery - Fatal编程技术网

Javascript 使用jquery以单击的元素为目标

Javascript 使用jquery以单击的元素为目标,javascript,jquery,Javascript,Jquery,我正在尝试制作一个按钮,在制作img灰度和正常之间切换。我需要找到一种方法,以正确的目标按钮,如果它被点击。我尝试在单击时添加一个类,然后以该类为目标。我也试过这个 $('.switch').on("click", function() { if($(this).attr('data-click-state') == 1) { $(this).attr('data-click-state', 0) $(this).siblings('img').css("

我正在尝试制作一个按钮,在制作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");
    }
});

为什么按钮不在颜色和灰度版本之间切换?

使用toggleClass方法。将样式添加到css类。

您向我们展示的代码没有问题

问题似乎出在HTML中,或者JS代码的某些部分中,您没有向我们展示

演示:
$('.switch')。打开(“单击”,函数(){
if($(this).attr('data-click-state')==1){
$(this.attr('data-click-state',0)
$(this.this('img').css(“-webkit filter”,“灰度(100%)”);
}否则{
$(this.attr('data-click-state',1)
$(this.this('img').css(“-webkit-filter”,“none”);
}
});

开关


按钮
html
看起来像什么?有控制台错误吗?jQuery是否被正确引用?您必须提供最低限度的示例来复制您的问题,以便获得helpOP的问题是为什么他们的单击事件没有按预期的方式工作。这个答案只是提供了一个如何做不同的想法。