JavaScript:语法错误?是吗?

时间:2013-05-11 09:38:04

标签: javascript syntax

我有一个非常简单的Javascript代码。代码是在页面加载时更改图像的来源。它是这样的:

window.onload = initAll;
function initAll(){
    document.getElementById("imgSlider").src = "menuBack.jpg";
}

现在,这完全正常。请看下面的代码。

window.onload = initAll;
function initAll(){
     var imgSrc = document.getElementById("imgSlider").src
     imgSrc = "menuBack.jpg";

}

此代码不应该像上面的代码一样执行吗?我猜,它应该。下面的代码有什么问题吗?我使用的是Mozilla Firefox(最新版本)。这可能是浏览器的问题吗?

3 个答案:

答案 0 :(得分:3)

喜欢

var imgSrc = document.getElementById("imgSlider");
imgSrc.src = "menuBack.jpg";

您应该在变量中使用dom元素将值应用于其属性。其他方式你只有一个不是dom元素的字符串。

答案 1 :(得分:3)

第二段代码肯定应该做点什么。

第一部分:

document.getElementById("imgSlider").src = "menuBack.jpg";

表示您将字符串"menuBack.jpg"存储到document.getElementById("imgSlider").src

然而,第二部分:

 var imgSrc = document.getElementById("imgSlider").src
 imgSrc = "menuBack.jpg";

表示您先将document.getElementById("imgSlider").src存储到imgSrc,然后将"menuBack.jpg"存储到imgSrc中,以覆盖该{{1}}。 这是不同的。

答案 2 :(得分:2)

window.onload = initAll;
function initAll(){
     var img = document.getElementById("imgSlider");
     img.src = "menuBack.jpg";
}