==在我的IF语句中不起作用

VAN*_*OSE -1 javascript if-statement image

我有一个简单的功能(向上),在这里它的箭头和onclick应该在div“ gallerymain”中检查图像1,如果在其中应该显示图像2。否则,如果显示图像3并且应该显示图像4。

但是由于某些未知原因==不起作用(我用警报检查),我还确保一切都在正确的情况下和正确的路径。有趣的是,如果我将使用=而不是==可以工作,但是onclick它将显示图像2,无论如何(即使存在图像3)我都知道为什么(因为我将路径分配给src)。也许有人请重新看一下,看看我想念的是什么。

谢谢!

  function up () {         


     if 
        (document.getElementById("gallerymain").src == 
    "../images/gallery/image1.jpg") 
        {
        document.getElementById("gallerymain").src = 
    "../images/gallery/image2.jpg"
        }
    else if   
    (document.getElementById("gallerymain").src == 
    "../images/gallery/image3.jpg") 
        {
    document.getElementById("gallerymain").src = 
    "../images/gallery/image4.jpg"
        }
    }
Run Code Online (Sandbox Code Playgroud)

Ale*_*hev 6

img.src getter(如中所述img.src == '../img.jpg')返回的绝对网址http://mysite.dev/img.jpgimg.src setter(如中所述img.src = '../img.jpg')将相对URL修改为绝对URL
getAttribute方法将精确返回所分配的内容。所以尝试一下。

if 
    (document.getElementById("gallerymain").getAttribute('src') == 
"../images/gallery/image1.jpg") 
    {
    document.getElementById("gallerymain").src = 
"../images/gallery/image2.jpg"
    }
Run Code Online (Sandbox Code Playgroud)