Javascript 使用jquery时未定义audio clip.paused

Javascript 使用jquery时未定义audio clip.paused,javascript,jquery,html,audio,Javascript,Jquery,Html,Audio,我有一个非常简单的javascript函数来播放和暂停HTML音频文件。从测试中我可以看出,当我使用document.getElementById时,下面的函数工作得很好,但是当我尝试使用jQuery时,没有定义.paused function playAudio(audioID){ var clip = $("#" + audioID); console.log(clip); console.log(clip.paused); if (clip.paused){

我有一个非常简单的javascript函数来播放和暂停HTML音频文件。从测试中我可以看出,当我使用document.getElementById时,下面的函数工作得很好,但是当我尝试使用jQuery时,没有定义.paused

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');">

当我记录剪辑时,它会返回正确的音频文件。但是当我尝试记录paused是true还是false时,控制台会说它是未定义的

function playAudio(audioID){
    var clip = $("#" + audioID);
    console.log(clip);
    console.log(clip.paused);
    if (clip.paused){
        clip.play();
    }
    else{
        clip.pause();
    }
}
有什么建议吗

谢谢。

$(“#”+audioID)
没有像
文档那样提供音频元素。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();
    }
}