有人可以解释为什么这不会改变音频文件src
属性,我认为会这样吗?
var correctAudio = document.createElement('audio');
correctAudio.setAttribute('id', 'correctAudio');
correctAudio.setAttribute('src', 'sfx/correct/3.mp3');
function playCorrect(){
var num = Math.floor((Math.random()*4)+1);
num = num.toString();
$('#correctAudio').attr('src','sfx/correct/'+num+'.mp3');
correctAudio.play();
}
playCorrect();
仅在我致电document.body.appendChild(correctAudio);
好像jQuery只能在元素附加到页面时访问该元素 - 这是正确的还是一个jQuery错误?
答案 0 :(得分:1)
这是正确的行为。 jQuery在文档中搜索匹配的元素,该元素不是文档的一部分。
您可以使用jQuery将现有引用包装到DOM对象中(而不是在文档中搜索要包装的新引用):
$(correctAudio)
...但是如果它不是文档的一部分,您可能会发现仍然无法播放它。