如何删除javascript中动态创建的音频元素?

如何删除javascript中动态创建的音频元素?,javascript,jquery,audio,createelement,Javascript,Jquery,Audio,Createelement,我每30秒刷新一个脚本以检查更改。返回的数据设置音频元素的src 如果数据发生了更改,我会将src属性更改为匹配,但onClick-我听到两个音频文件一起播放 这里发生了什么,如何删除以前的音频文件 (function fetchCal() { $.getJSON('events', function(data) { //I need to clear any previously created elements here var nowAudio = document.createE

我每30秒刷新一个脚本以检查更改。返回的数据设置音频元素的src

如果数据发生了更改,我会将src属性更改为匹配,但onClick-我听到两个音频文件一起播放

这里发生了什么,如何删除以前的音频文件

(function fetchCal() {
$.getJSON('events', function(data) {

//I need to clear any previously created elements here

  var nowAudio = document.createElement('audio');
  nowAudio.setAttribute('src',"audio/"+data.uid+"."+data.nowTitleURL+".mp3" );

  $('.now').click(function() {
      nowAudio.play();
  });

})
setTimeout(fetchCal, 30000); //refresh calendar every 30 secs
})();

注意:
$(“音频”).remove()无效

您正在将多个CLCIC绑定到同一个元素,因此它将始终具有以前的单击事件。你需要解开它

$('.now').off("click.audio").on("click.audio", function() {
  nowAudio.play();
});

您正在将多个CLCIC绑定到同一个元素,因此它将始终具有以前的单击事件。你需要解开它

$('.now').off("click.audio").on("click.audio", function() {
  nowAudio.play();
});

“移除”是什么意思?它没有添加到DOM中,那么为什么要删除它呢?问题更像是绑定了单击事件,而没有删除以前的单击事件……您所说的“删除”是什么意思?它没有添加到DOM中,那么为什么要删除它呢?问题更像是绑定了单击事件,而没有删除以前的单击事件……非常感谢!!最近我的代码和原来的问题一样有问题,你的回答解决了这个问题!!再次感谢:)非常感谢!!最近我的代码和原来的问题一样有问题,你的回答解决了这个问题!!再次感谢:)