javascript - firefox 25 没有为音频标签定义 play() ?

标签 javascript html firefox audio

我有以下音频标签:

<audio preload>
  <source src='/sounds/notify.ogg' type='audio/ogg'>
</audio>

我想通过js来播放它,所以我自然会期望调用 $("audio").play() 来做到这一点(这是页面上唯一的音频标签),但我收到一条错误消息,指出 play is' t 定义。经检查确实如此。音频元素没有播放属性。我读过的每个教程或资源都说这就是您需要做的一切,但是......好吧,我就是做不到。我的 FF 版本是否已损坏,或者我是否遗漏了这些不同文本中未说明的内容?

最佳答案

play() 是一个 DOM 方法,而不是 jQuery 方法,这意味着您需要先获取实际的 DOM 元素,然后才能获取 play属性(property)。要获取实际的 DOM 元素,您可以使用 jQuery get()方法:

$('audio').get(/*insert element index*/).play();

或者简单地使用数组索引:

$('audio')[/*insert element index*/].play();

为了获得更多选择,您可以执行以下操作:

$('audio').eq(/*insert element index*/).prop('play')();

您甚至可以执行类似的操作来播放每个音频元素:

$('audio').each(function () { this.play(); });

关于javascript - firefox 25 没有为音频标签定义 play() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990143/

相关文章:

CSS : overflow : auto will not work under FireFox 3. 6.2

javascript - 将 cookie 实现到简单的秒表中

javascript - jQuery 上带有可折叠子菜单的菜单

selenium - capybara firefox 48 出现错误

html - 粗体/强 - HTML5 等效项?

android - Phonegap + Jquery Mobile运行时从点击图标到主index.html

python - 如何获得第 3 方 cookie?

javascript - 将 S3 字节数组转换为 base64

javascript - 将变量传递给 jquery 选择器

html - Bootstrap Jumbotron 背景图像不起作用