我试图在其中编写一个具有多个<audio>
标签的页面,页面加载需要永远(我有大约30个音频剪辑)。我看到的一个解决方案是将src=""
留空,然后在点击链接时动态填充…
我的snytax是错误的,但它必须做2件事,当按钮被点击。它必须通过填充src来加载视频,然后播放剪辑。我认为下面的代码可以工作:
document.getElementById('1')[0].src = '1.aif';.play()
语句分别执行,因此.play()
不会在元素上执行。这是无效的,因为语句不能以.
开头。
您似乎想要的是"链接样式"(在一条语句中优雅地执行几件事),这是jQuery允许您使用的:
$("#1").attr("src", "1.aif").play();
或者纯JavaScript:
var elem = document.getElementById('1'); // returns one element, not an array
elem.src = '1.aif';
elem.play();
你的问题是:
-
getElementById
返回具有给定唯一标识符的元素,而不是NodeList(因此[0]
不会工作,因为没有0
属性) - 你的第二个声明试图调用
play
。在.
之前你需要一些东西
您可能只想设置preload="none"
,而不是尝试动态设置src
。