Jquery - 我如何获得视频src值?

3gw*_*ain 6 video jquery

我需要获取视频的值,并需要更改为新值...因为我使用此功能:

var video = $('#task2ResultVideo').get(0);

console.log($(video).attr('poster')); // i am getting this

    $(video).attr('src',function(num,val){
        console.log(num,val)        // i am not getting this..
    }) ?
Run Code Online (Sandbox Code Playgroud)

HTML:

<video id="task2ResultVideo" autobuffer poster="img/task2-results-host-poster.jpg">
    <source src="Video/webm/Task_2.4a_Host_treated.webm" type="video/webm" />
    <source src="Video/ogv/Task_2.4a_Host_treated.theora.ogv" type="video/ogg" />
    <source src="Video/MP4/Task_2.4a_Host_treated.mp4" type="video/mp4" />
</video>?
Run Code Online (Sandbox Code Playgroud)

但我无法获得价值.我的代码出了什么问题?如果我得到的值我怎么能改变src?

有什么建议吗?

Ami*_*ail 7

您的视频标记没有任何源属性,因此您永远不会获得它.而是获取其内部源标记的src属性

$('video').find('Source:first').attr('src');
Run Code Online (Sandbox Code Playgroud)

这将获得视频标签内第一个源标签的src属性的值


Adi*_*dil 5

试试这个,

现场演示

$('video source').each(function(num,val){
    console.log($(this).attr('src'));        // i am not getting this..
    $(this).attr('src', 'newSourceValue')
});
Run Code Online (Sandbox Code Playgroud)

基于OP的注释,更改src文件名

现场演示

$('video source').each(function(num,val){
    console.log($(this).attr('src'));        // i am not getting this..
    strSrc = $(this).attr('src'); 
    strPath = strSrc.substring(0, strSrc.lastIndexOf('/'));
    strExtenion = strSrc.substring(strSrc.lastIndexOf('.'));
    $(this).attr('src', strPath + "/" + "newFileName" + strExtenion );    
})?;
Run Code Online (Sandbox Code Playgroud)