使用JavaScript进行Src属性切换

时间:2017-03-03 07:42:41

标签: javascript

我希望使用JavaScript根据当前<img src="...">进行src的简单切换。因此,如果单击图像#plus_1,脚本应检查字符串'plus'是否在src属性中,如果是,则src属性应该更改。 不确定我犯了什么错误,非常感谢帮助!

JavaScript的:

   function ek_ak(id) {
            var ement = document.getElementById(id);
            if (ement.img.src.includes("plus") == true) {
                ement.img.src == "minusred.png";}
        }

HTML

<img src="plusred.png" id="plus_1" onclick="ek_ak('plus_1')"/>

2 个答案:

答案 0 :(得分:1)

一些指示:

  • ement已经是一个DOM元素:它没有img属性,但您可以直接访问src;
  • 可以使用正则表达式代替String#includes;
  • 您应该使用=作为赋值运算符,而不是==(松散比较)。

function ek_ak (id) {
  var ement = document.getElementById(id);
  if (/plus/.test(ement.src)) {
    ement.src = "minusred.png"
    console.log(ement.src)
  }
}
<img src="plusred.png" id="plus_1" onclick="ek_ak('plus_1')" />

答案 1 :(得分:1)

  • 您可以使用onclick="ek_ak(this)直接将元素发送到函数。这将避免不必要的调用来检索元素。
  • 要获得src,您只需拨打element.src即可。元素是您的img
  • 调用.includes(..)返回一个布尔值。您无需添加== true
  • 您使用的是element.src == "minusred.png==用于比较不分配的元素。您应该使用=

&#13;
&#13;
function ek_ak(element) {
  console.log("Current src = " + element.src);
  if (element.src.includes("plus")) {
    element.src = "minusred.png";
    console.log("Next src = " + element.src);
  }
}
&#13;
<img src="plusred.png" id="plus_1" onclick="ek_ak(this)" />
&#13;
&#13;
&#13;