我想用另一个音频元素更改我插入的音频元素。
我在以下位置检查了解决方案:Create Audio element dynamically in Javascript,我不明白为什么我的代码不工作。
在HTML中我有:
<audio id="sound" src="shush1.mp3" controls>
Your Browser Does Not Support the Audio Feature
</audio>
在babySounds.js
中我有:
var sound = document.createElement('audio');
sound.src = "Shush2.mp3";
sound.controls = "controls";
document.getElementById("sound").appendChild(sound);
1条答案
按热度按时间xuo3flqw1#
您的代码尝试将新的
audio
元素附加为已有元素(appendChild
)的 child,而不是替换它。如果您想替换它,可以在所有未过时的浏览器中使用
replaceWith
method:但是如果你只是想改变声音的内容,你可以赋值给现有元素的
src
属性,而不需要创建一个全新的元素:根据质量标准:
如果媒体元素的
src
属性被设置或改变,则用户代理必须调用媒体元素的媒体元素加载算法。...
媒体元素上的
src
IDL属性必须反映同名的内容属性。