4

“currentSrc”是我必须在具有多个源(*.mp3、*.ogg 等)的 html5 视频中切换源 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);

请帮帮我...

4

2 回答 2

5

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

alert( $hdVideo.get(0).currentSrc );
alert( $hdVideo[0].currentSrc );
alert( $hdVideo.prop("currentSrc") );   //might be attr() instead of prop()
于 2012-10-05T15:03:20.197 回答
3

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

alert($hdVideo.get(0).currentSrc);
alert($hdVideo[0].currentSrc);
于 2012-10-05T15:05:44.330 回答