为什么document.getElementById()不能这样工作?

时间:2016-04-08 16:02:12

标签: javascript html5

如果我之前输入脚本内容,为什么代码无效?但是当我在视频标签之后添加脚本时,它起作用了。解释这个plz

  

var vid = document.getElementById("myVideo");

function play(){
    vid.play();
}

function pause(){
    vid.pause();
}


</script>




<button onclick="play()">Play</button>
<button onclick="pause()">Pause</button>

<video id="myVideo">
    <source src="john.mp4" type="video/mp4">
</video>





</html>

2 个答案:

答案 0 :(得分:1)

根据脚本的位置评估脚本。您正在尝试访问尚未呈现的html。

您可以将它放在之前,但请使用document ready事件。

答案 1 :(得分:0)

Cuz浏览器逐行解释代码。如果你想找到一个不存在javascript的html标签,它显然不会找到它,如果你把视频标签放在脚本标签之后,你的代码就是这种情况。如果你真的想把你的脚本放在html标签之前,你可以强制javascript仅在加载完整的dom后运行。 喜欢:

window.onload = function() {
    //your script here
};

或者使用jquery文件就绪功能。 或者将脚本放到外部文件中并使用延迟html脚本属性(如

)调用它
 <script src="yourScript.js" defer></script>