javascript - 您可以将图像的 src 更改为 Javascript 中的变量吗?

标签 javascript

嗯,我很确定你可以,只是我的代码现在失败了。

我告诉我的简短 Javascript 程序要做的是,从数组中选择一个代码(我现在预设了测试 1、0),然后使用该代码获取该视频代码的 Youtube 缩略图,制作半自动 Youtube 画廊,这意味着我不必进去,手动完成所有繁琐的工作,只需转到视频并将代码复制到数组中,但是,当我尝试通过 document.getelementblahblah.src=myVar 将图像的 src 更改为 url(变量)时,
我收到控制台错误:Uncaught TypeError: Cannot set property 'src' of null

这是我的代码:

<!Doctype HTML>
<html>
<head>
<script>
var thumbPrefix = "http://img.youtube.com/vi/";
var thumbSuffix = "/mqdefault.jpg";
var vidCode = ['fL01KMMi5_M','6akcfoJ05Aw','lPpot4OCnQs'];
var thumb1Url = thumbPrefix + vidCode[0] + thumbSuffix;
document.write(thumb1Url); //this is just to visualize url
document.getElementById('pie').src=thumb1Url;
</script>
</head>
<body>
<img src="" id="pie" />
</body>
</html>

而且,我也尝试过 setAttribute 方法,所以...

最佳答案

"I get the console error: Uncaught TypeError: Cannot set property 'src' of null"

那是因为document.getElementById('pie')已返回null因为它没有找到 id 为 'pie' 的元素,因为您的脚本在浏览器解析相关元素之前运行。

浏览器在遇到脚本 block 时会运行脚本 block 中的代码 - 在文档中从上到下。

将脚本 block 移至文档末尾(例如,在结束 </body> 标记之前)或将代码放入名为 onload 的函数中。这样你的图像元素将被解析并且可以通过 JS 进行操作。

(您尝试将 .src 设置为变量的事实根本不是问题。)

关于javascript - 您可以将图像的 src 更改为 Javascript 中的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13133811/

相关文章:

javascript - 带有有效载荷 'NAVIGATE' {"name"} 的 Action :"Screen2"未被任何导航器处理。 react 导航 5

javascript - 需要在执行 jQuery slideToggle 时隐藏一个 <hr>,然后在再次单击时显示

javascript - IE 11 : effectAllowed and dropEffect handling

javascript - 单击重复菜单更改类名

javascript - 在编辑表单时获取可编辑复选框的当前值

javascript - 如何从异步调用返回响应?

javascript - 无法读取未定义状态的属性

javascript - 如何在 mat-radio 中为 mat-input 设置焦点

javascript - 使用JQuery根据生日计算年龄

javascript - 将 console.log() 与 firebug 一起使用在本地有效,但在发布到我的实时站点时无效