currentSrc在jquery插件中不起作用

时间:2012-10-05 15:01:47

标签: javascript jquery html5-video

“currentSrc”是我在html5视频中使用多个源(* .mp3,* .ogg等)切换源src的唯一选项。

如果我在Jquery中使用,

“currentSrc”会抛出“undefined”。 但如果我在html页面中调用它,它的工作正常。

详细说明: 我的视频来源:

<video width="630" height="354" id="video1" class="video1" poster="asserts/poster.png" controls="controls" data-name="demo video" data-uid="57fb2708">
        <source src="http://static.clipcanvas.com/sample/clipcanvas_14348_H264_320x180.mp4" data-quality="sd" />
        <source src="asserts/samllfile.mp4" data-quality="hd" />
        <source src="http://static.clipcanvas.com/elephants-dream.webm" data-quality="hd" />
        <source src="http://video.webmfiles.org/big-buck-bunny_trailer.webm" data-quality="sd"/>
        <source src="http://video.webmfiles.org/elephants-dream.webm" data-quality="hd" />
</video>

获取当前视频网址

html页面中的Javascript(工作正常):

myVid=document.getElementById("video1");
    function getVid(){
        alert(myVid.currentSrc);
    };

Jquery中的行(抛出“未定义”):

alert($hdVideo.currentSrc);

请帮帮我......

2 个答案:

答案 0 :(得分:5)

因为jQuery对象没有属性currentSrc所以它返回undefined。

alert( $hdVideo.get(0).currentSrc );
alert( $hdVideo[0].currentSrc );
alert( $hdVideo.prop("currentSrc") );   //might be attr() instead of prop()

答案 1 :(得分:3)

DOM元素和jQuery包装的DOM元素没有相同的属性或方法。如果要从jQuery包装的DOM元素访问DOM元素的属性,则需要使用get()或索引器来访问底层DOM元素:

alert($hdVideo.get(0).currentSrc);
alert($hdVideo[0].currentSrc);