不通过javascript更改图像src属性

时间:2014-03-13 19:13:19

标签: javascript

以下是我当前的JavaScript代码无效。我试图改变图像。

function imgchange(a)
{
    var e=document.getElementById(a);

     if(e.src == "plus.png")
     {
       e.src = "minus.png";
     }

     else
    {
      e.src="plus.png";
     }

}

4 个答案:

答案 0 :(得分:1)

src属性包含图像的完整网址,请尝试使用getAttribute方法,该方法返回HTML中的指定值。

if ( e.getAttribute("src") === "plus.png" )

请注意,这意味着您还应使用.setAttribute()设置新值以供将来进行比较。如果要使用.src属性,则应比较完整路径或使用其他方法,如正则表达式或split方法:

if ( e.src.split('/').pop() === "plus.png" )

答案 1 :(得分:1)

当您使用img.src时,它会返回img src的整个路径,而不仅仅是plus.png

您必须进行比较,例如http://localhost/images/plus.png无论您的路径是什么

或使用{undeit's post

中提到的getAttribute方法

答案 2 :(得分:0)

函数本身应该正常工作。在您呼叫imgchange("xyz")的地方肯定有问题。

所以也许你可以告诉我们实际调用函数的代码。

答案 3 :(得分:0)

function imgchange (a) {
    var e=document.getElementById(a);
    if (e.src.replace(/.+\//, '') === 'plus.png') {
        e.src = "minus.png";
    } else {
        e.src="plus.png";
    }
}

应该工作。