Jquery 改变图像来源

Jquery 改变图像来源,jquery,image,Jquery,Image,我想使用一个名为#MapButtonImage的图像作为“按钮”,因此当有人单击它时,会显示一个div,并且#MapButtonImage的源代码会更改。 我将其制作成如下所示的div: $(window).load(function(){ $("img#MapButtonImage").click(function(){ $("div.MapMain").toggleClass('MapMainShow'); }); }); 当我此时单击该按钮时,它将map div的类更改为di

我想使用一个名为
#MapButtonImage
的图像作为“按钮”,因此当有人单击它时,会显示一个div,并且
#MapButtonImage
的源代码会更改。 我将其制作成如下所示的div:

$(window).load(function(){
  $("img#MapButtonImage").click(function(){
  $("div.MapMain").toggleClass('MapMainShow');
  });
});
当我此时单击该按钮时,它将map div的类更改为display:block,然后第二次单击返回默认的display:none

但我似乎无法使用jQuery改变图像的来源。我遵循了一个指南,使用了两个函数的切换,源代码是我想要的两个图像,但它只适用于jQuery的早期版本,而不是最新版本

图像#MapButtonImage具有原始源“ShowMapButton.jpg”,我想在单击它时将其更改为“HideMapButton.jpg”,然后再次单击时返回到“ShowMapButton.jpg”

其目的是将其作为一个切换,在其下方显示一个Map div,图像反映按钮将执行的操作(显示或隐藏)

如果您能提供任何帮助,我将不胜感激。我对这一点还很陌生,不明白为什么它在最新版本中不起作用,而在以前的版本中却起作用。

试试这个:

$(window).load(function(){
  $("img#MapButtonImage").click(function(){
  $("div.MapMain").toggleClass('MapMainShow');

  if($("div.MapMain").hasClass('MapMainShow')) {
      $(this).attr('src', 'HideMapButton.jpg');
  } else {
      $(this).attr('src', 'ShowMapButton.jpg');
  }
  });
});
试试这个:

$(window).load(function(){
  $("img#MapButtonImage").click(function(){
  $("div.MapMain").toggleClass('MapMainShow');

  if($("div.MapMain").hasClass('MapMainShow')) {
      $(this).attr('src', 'HideMapButton.jpg');
  } else {
      $(this).attr('src', 'ShowMapButton.jpg');
  }
  });
});

您是否尝试过
$('mapputtonimage').attr('src','newurl')
为什么不使用
按钮
元素并更改背景url?您是否尝试过
$('#MapButtonImage').attr('src','newurl')为什么不使用
按钮
元素并更改背景url?在这种情况下,它比
.prop()
更合适。这太完美了,非常感谢!我现在的代码只有一个问题,那就是这个jquery部分在IE8中不起作用,有没有一个明显的答案来解释为什么没有看到整个代码?它在Chome和Firefox的最新版本中运行良好。再次感谢你的帮助。在这种情况下,它比
.prop()
更合适。这太完美了,非常感谢!我现在的代码只有一个问题,那就是这个jquery部分在IE8中不起作用,有没有一个明显的答案来解释为什么没有看到整个代码?它在Chome和Firefox的最新版本中运行良好。再次感谢你的帮助。