0

我的脚本中有这个功能:

$("#image4").click(function(){
   if($(this).attr("src")=="http://XXX.jpg"){
      $(this).attr("src","http://YYYY.jpg");
   }else{
      $(this).attr("src","http://XXX.jpg");
   } 
return false;});

HTML

<img src="http://XXX.jpg" id="image4"/>

我不明白为什么当我点击我的图片时,if 部分不起作用。我解释:如果我使用这段代码,什么都不会改变。如果我在点击功能上添加并提醒,我会看到两次提醒,并看到图像两次更改为。看来,“if”不起作用,每次都应用“if”和“else”

有人可以帮助我。我认为这是一个基本功能,我不明白为什么它不起作用。

谢谢

4

2 回答 2

6
("#image4").click(function(){
                          ^^

你错过了一个括号!

工作:http: //jsfiddle.net/MAVyb/

于 2013-07-05T09:06:05.143 回答
0

代码中的 sysntax 和所有内容都是正确的,因此这绝对是价值问题。问题可能是src中有前导或尾随空格

尝试像警报一样

alert("-"+$(this).attr("src")+"-")

以及 -(hypen) 和 src 值之间是否有空格。

也试试

alert(($(this).attr("src")=="http://XXX.jpg")),如果src 相等,它应该返回true

更新:我可以重现你的问题——你应该已经附加了两次事件监听器函数。检查您的原始代码。那就是问题所在。检查你的代码。您可以通过在 jquery 方法和 img 标记中将 id 更改为其他一些来验证这一点

于 2013-07-05T09:23:44.550 回答