【问题标题】:jQuery remove() html 5 audio mediaelementjsjQuery remove() html 5 音频 mediaelementjs
【发布时间】:2012-12-17 05:23:03
【问题描述】:

您好,我有一个简单的问题,希望有一个简单的解决方案。

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

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

在 jQuery 中,我有 $('audio').remove();,但音频播放器保留在页面上。我也试过$('#foo').remove();。

我用的是mediaelementjs播放器,不知道是不是这个问题。

有人知道如何删除音频元素吗?

谢谢

【问题讨论】:

    标签: jquery html firefox audio


    【解决方案1】:

    这是一个解决方案(不是解决方法) 包装成一个元素并这样做:

    HTML

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

    jQuery

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

    【讨论】:

      【解决方案2】:

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

      删除自动加载的 &lt;audio> 元素 (&lt;audio "preload"="auto" ...) 的 src 属性会中止某些设备上的连接(例如 firefox-os)。不要删除 src 属性,只需清除它:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 太棒了,一个非常优雅的解决方案!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-02
        相关资源
        最近更新 更多