Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 将样式应用于单击的图像,而不是所有图像_Javascript_Jquery_Css - Fatal编程技术网

Javascript 将样式应用于单击的图像,而不是所有图像

Javascript 将样式应用于单击的图像,而不是所有图像,javascript,jquery,css,Javascript,Jquery,Css,我在一个页面中有4个图像,需要将样式1应用于所有图像,但当我在每个图像中单击时,我需要删除样式1并应用样式2,但仅应用于单击的图像,其他图像必须保留样式1。我尝试使用此代码,但没有成功: $(document).ready({ $('img').removeClass(); $('img').addClass('style1'); $('img').click(function(){ $(this).removeClass(); $(this).addClass('

我在一个页面中有4个图像,需要将样式1应用于所有图像,但当我在每个图像中单击时,我需要删除样式1并应用样式2,但仅应用于单击的图像,其他图像必须保留样式1。我尝试使用此代码,但没有成功:

$(document).ready({
  $('img').removeClass();
  $('img').addClass('style1');

  $('img').click(function(){
    $(this).removeClass();
    $(this).addClass('style2');
  });
});

有什么帮助吗?我做错了什么?“干杯”和“thx预付款”略有调整,但基本相同:

  $('img').addClass('style1');

  $('img').click(function(){
    $(this).removeClass('style1').addClass('style2');
  });

稍微调整一下,但基本上是一样的:

  $('img').addClass('style1');

  $('img').click(function(){
    $(this).removeClass('style1').addClass('style2');
  });

全功能小提琴,仅限一次,可切换:


全功能小提琴,仅限一次,可切换:


您是否忘记了
$(document).ready()
中的
函数()
部分,还是只是打印错误

我添加了它,在某种程度上似乎一切都正常:

$(document).ready(function(){
  $('img').removeClass();
  $('img').addClass('style1');

  $('img').click(function(){
    $(this).removeClass();
    $(this).addClass('style2');
  });
});
检查


另外,如果您想在另一次单击时删除
style2
,请检查上面的答案,了解
toggleClass()

的用法。您是否忘记了
$(document.ready()
中的
函数()
部分,或者它只是一个打印错误

我添加了它,在某种程度上似乎一切都正常:

$(document).ready(function(){
  $('img').removeClass();
  $('img').addClass('style1');

  $('img').click(function(){
    $(this).removeClass();
    $(this).addClass('style2');
  });
});
检查


另外,如果您想在另一次单击时删除
style2
,请检查上面的答案,了解
toggleClass()

me的用法-那么什么不起作用呢?您是否希望其他三个图像在单击另一个图像时返回style1?“我做错了什么”-不检查控制台错误消息,很可能是因为@akoptsov在您的代码中发现了什么…;-)我也是-那么什么不起作用?您是否希望其他三个图像在单击另一个图像时返回style1?“我做错了什么”-不检查控制台错误消息,很可能是因为@akoptsov在您的代码中发现了什么…;-)到目前为止,这似乎是唯一真正的答案。好主意。这就是JSFIDLE的问题所在-它鼓励您只发布就绪函数体,而不发布其余的锅炉板。这就是为什么我在制作示例FIDLE时使用了
无包装:)这似乎是目前为止唯一的真实答案。好主意。这就是JSFIDLE的问题所在-它鼓励您只发布就绪函数体,而不发布其余的锅炉板。这就是为什么我在制作示例小提琴时使用了
no wrap