试图使用JavaScript设置视频的src属性,getting TypeError:videofile为null

试图使用JavaScript设置视频的src属性,getting TypeError:videofile为null,javascript,html,null,Javascript,Html,Null,我有一个视频和一些JavaScript代码。代码说 var videoIDRAW=getUrlVars()[“监视”]; var videoID=videoIDRAW.toString(); var videoIDFILE=videoID.concat(“.mp4”); var videofile=document.getElementById(“vid”); setAttribute(“src”,videofile)toString()不是一个神奇的工具。我认为它应该被默认调用 正如Aaro

我有一个视频和一些JavaScript代码。代码说

var videoIDRAW=getUrlVars()[“监视”];
var videoID=videoIDRAW.toString();
var videoIDFILE=videoID.concat(“.mp4”);
var videofile=document.getElementById(“vid”);
setAttribute(“src”,videofile)
toString()
不是一个神奇的工具。我认为它应该被默认调用

正如Aaros指出的,问题在于您的算法试图做什么。您正在尝试将DOM元素设置为其自身属性之一的值。视频的src属性需要是视频的URL(或blob,但这更复杂)

你不是这个意思吗

videofile.setAttribute("src", videoIDFILE); // Or videofile.src = videoIDFILE

编辑:不要忘记在正文之后执行脚本。通过将
脚本
标记移动到正文底部(但仍在内部),或者您可以使用类似于您在那里找到的侦听器:

您的代码似乎语义不正确。您正试图将source id=“vid”添加为自身的src。你必须为某种类型生成一个链接,然后将其添加到源元素中。Aaron你得到DOM元素并使用函数对其进行串接是什么意思?这毫无意义。我发布了一个工作版本。塞伯勒试过了,没什么新的apparently@lambdaguy101只需确保在加载正文后加载脚本,否则调用
document.getElementById
将返回null(因为元素尚未创建)。我无法编辑我的帖子,但以下是我修改的代码:dvar videoIDRAW=getUrlVars()[watch”];var videoID=videoIDRAW.toString();var videoIDFILE=videoID.concat(.mp4);var videofile=document.getElementById(“vid”);videofile.setAttribute(“src”,videoIDFILE)的功能与此完全相同。您看过我的新评论或编辑了吗?您还应该能够编辑您的问题。