为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript 中的灯泡无法打开

Javascript 中的灯泡无法打开

侃侃尔雅 2022-06-16 10:24:29
<!DOCTYPE html><html><head>    <title>switch</title>    <script language="javascript" type="text/javascript">        function click_turn() {            if (document.getElementById("light").src == "/pic_bulboff.gif") {                document.getElementById("light").src = "/pic_bulbon.gif";            }            else {                document.getElementById("light").src = "/pic_bulboff.gif";            }        }    </script></head><body>    <img id="light" src="/pic_bulboff.gif" />    <br />    <button id="click" onclick="click_turn()">Click</button></body></html>按钮不工作,即灯泡不亮。我在谷歌搜索并没有找到任何解决方案。我做错了什么?
查看完整描述

4 回答

?
慕盖茨4494581

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";

        }

    }


查看完整回答
反对 回复 2022-06-16
?
largeQ

TA贡献2039条经验 获得超8个赞

document.getElementById("light").src返回完整路径(' http://etc ')。

尝试document.getElementById("light").src.endsWith("/pic_bulboff.gif")


查看完整回答
反对 回复 2022-06-16
?
翻翻过去那场雪

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>


查看完整回答
反对 回复 2022-06-16
?
HUH函数

TA贡献1836条经验 获得超4个赞

好吧,我用“endsWith”替换了“==”,它起作用了。谢谢大家的帮助。



查看完整回答
反对 回复 2022-06-16
  • 4 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号