jQuery remove() html 5 audio mediaelementjs

3

你好,我有一个简单的问题,希望能得到简单的解决方案。

我在页面上有一个HTML音频元素。

<audio id='foo' control="control">
    <source id='mp3' src='somefile.mp3' type='audio/mp3'>
</audio>

在jQuery中,我有$('audio').remove();,但音频播放器仍然停留在页面上。我还尝试了$('#foo').remove();。我正在使用mediaelementjs播放器,不知道是否导致了问题。有人知道怎么删除音频元素吗?谢谢。
3个回答

1
您可以将其包装在一个占位符 div 中,然后执行 $("#wrapper").html("");

太棒了,非常优雅的解决方案! - David Healey

0

在从 DOM 中删除元素之前删除 src 属性时,我遇到了这个问题。

移除 autoloaded 的 <audio> 元素(<audio "preload"="auto" ...)的 src 属性会使某些设备(如 firefox-os)中断连接。而不是删除 src 属性,只需将其清除:

    try {
      $el.attr("src", "");
    } catch(error) {}

    $el.remove();

0
这是一个解决方案(而不是权宜之计) 将其包装到一个元素中并执行:

HTML

<div id="element">
    <audio id='foo' control="control">
        <source id='mp3' src='somefile.mp3' type='audio/mp3'>
    </audio>
</div>

jQuery

$('#element').empty();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接