2012-10-05 156 views
4

“currentSrc”是我必须切换在HTML5视频源SRC在具有多个源(* .MP3,* .OGG等)currentSrc不jquery插件内工作

“currentSrc”抛出“未定义的唯一选择“如果我在Jquery里面使用。 但它工作正常,如果我在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> 

获取当前视频网址

JavaScript中的HTML页面(工作正常):

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

内jQuery的线(投“undefined”):

alert($hdVideo.currentSrc); 

请帮我...

回答

5

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

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

非常感谢...... 警报( $ hdVideo.get(0).currentSrc); alert($ hdVideo [0] .currentSrc); 在Chrome,FF,歌剧 两项工程单“0" 吃了半天:( 感谢您及时的帮助...... –

3

DOM元素和jQuery包装的DOM元素没有相同的属性或方法。如果你想从一个jQuery包裹的DOM元素访问DOM元素的属性,你需要使用get()或indexor访问底层DOM元素:

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

的Tx ... 你和@epascarello已经救了我...... –