4 回答
TA贡献1850条经验 获得超11个赞
usingimg.src将返回绝对路径而不是相对路径,因此document.getElementById("light").src永远不会等于/pic_bulboff.gif. 您还可以将 baseurl 添加到您的逻辑中,或者.includes("")改为使用:
function click_turn() {
if (document.getElementById("light").src.includes("pic_bulboff.gif") {
document.getElementById("light").src = "/pic_bulbon.gif";
}
else {
document.getElementById("light").src = "/pic_bulboff.gif";
}
}
TA贡献2039条经验 获得超8个赞
document.getElementById("light").src返回完整路径(' http://etc ')。
尝试document.getElementById("light").src.endsWith("/pic_bulboff.gif")
TA贡献2065条经验 获得超14个赞
HTMLMediaElement.src属性反映了 HTML 媒体元素的 src 属性的值,该属性指示要在元素中使用的媒体资源的 URL 。
而不是使用src属性,您应该使用getAttribute来读取元素的属性,该属性不是 URL,而是分配的值。
function click_turn() {
if (document.getElementById("light").getAttribute('src') == "pic_bulboff.gif") {
document.getElementById("light").setAttribute('src', "pic_bulbon.gif")
} else {
document.getElementById("light").setAttribute('src', "pic_bulboff.gif")
}
}
<base href="https://www.w3schools.com/js/">
<img id="light" src="pic_bulboff.gif" />
<br />
<button id="click" onclick="click_turn()">Click</button>
添加回答
举报
