javascript-更改源代码后图像不在浏览器中切换

javascript-更改源代码后图像不在浏览器中切换,javascript,Javascript,如果我查看输出到控制台的内容,则图像的src是正确的。但它在我的浏览器中没有改变。怎么了?(即,即使源url正在更改,图像仍保持不变…我将以这种方式编写您的函数,这也应考虑您的错误: function swapImg(imgId) { var image = document.getElementById(imgId); if (image.getAttribute("class") == "unselected") { image.setAttribute("s

如果我查看输出到控制台的内容,则图像的src是正确的。但它在我的浏览器中没有改变。怎么了?(即,即使源url正在更改,图像仍保持不变…

我将以这种方式编写您的函数,这也应考虑您的错误:

function swapImg(imgId) {
    var image = document.getElementById(imgId);
    if (image.getAttribute("class") == "unselected") {
        image.setAttribute("src", "img/frownie.gif");
        console.log(image);
    }   
}

啊,我很笨。我无意中在代码中编写了id而不是类,因此有多个具有相同id的图像,这意味着我找到了第一个图像并交换了它,而不是其他图像。感谢您的尝试:(

使用
console.log(图像)发送到控制台的内容)
?这不是说得很清楚,而是在Firefox上工作,但在iPhone上不工作?还是两者都失败了?我很好奇您使用的是什么浏览器和版本号。我想是Firefox,但什么版本?您今晚遇到的两个错误是异常行为。我想知道您的浏览器是否有损坏。第一个错误已修复:)我想我不记得在我传递的参数周围使用撇号来FTP我的解决方案。如果有帮助的话,我正在为一个iphone应用程序编码,所以我在FF中用firebug测试它,但由于它是为iphone编码的,所以一切都乱七八糟!您的
console.log
语句可能在iphone上生成错误。您可能需要编写一个
if(typeof(console)='undefined')console={log:function(){}或类似于页面中的内容。如果控制台未定义,则要使用控制台:如果(typeof(console)!=“undefined”)FWIW,则您必须坚持使用DOM-HTML属性,如
className
src
。永远不要使用
getAttribute
/​<代码>设置属性
用于HTML:它有很多IE错误,通常可读性较差。我知道出了问题。我甚至在这里构建了一个完整的测试,并准备发布它:它可以工作:)。。。另外,您确实应该使用
.className
.src
而不是函数调用。直接属性访问比调用函数更快。
function swapImg(imgId) {
    var image = document.getElementById(imgId);
    if (image.className == "unselected") {
        image.src = 'img/frownie.gif';
        console.log(image);
    }   
}