使用jquery时,音频剪辑.paused未定义
audio clip.paused is undefined when using jquery
我有一个非常简单的javascript函数来播放和暂停HTML音频文件。通过测试,我可以看出,当我使用document.getElementById时,下面的函数运行得很好,但当我尝试使用jQuery时,.paustend是未定义的。
function playAudio(audioID){
var clip = $("#" + audioID);
console.log(clip);
console.log(clip.paused);
if (clip.paused){
clip.play();
}
else{
clip.pause();
}
}
这是通过onclick调用调用的:
<img src="media/play.png" class="play" onclick="playAudio('audio1');">
当我记录剪辑时,它会返回正确的音频文件。但当我尝试记录暂停是真是假时,控制台会说它是未定义的。
有什么建议吗?
谢谢。
$("#" + audioID)
不像document.getElementById
那样为您提供音频元素,它为您提供了一个封装音频元素的jQuery对象
如果你想访问音频元素的属性,你必须从jQuery对象中公开它
要从jQuery对象公开属性,可以使用.prop()
(if (clip.prop('paused')){
),也可以使用.get()
和[]
公开元素本身
function playAudio(audioID){
var clip = $("#" + audioID);
console.log(clip[0]);
console.log(clip.prop('paused'));
if (clip.prop('paused')){
clip[0].play();
}
else{
clip.get(0).pause();
}
}
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- AngularJS指令出错-无法读取属性'编译'的未定义
- 这.SOMETHING 总是返回未定义的 - extjs
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Wordpress中带有JQuery Accordion的未定义匿名函数
- 使用jquery时,音频剪辑.paused未定义