6

ビデオの値を取得し、新しい値に変更する必要があります...そのために私はこの関数を使用しました:

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..
    }) ​

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>​

しかし、私は値を取得することができません。私のコードの何が問題になっていますか?値を取得した場合、どのようにsrcを変更できますか?

何か提案をお願いしますか?

4

4 に答える 4

9

ビデオタグにはソース属性がないため、取得することはできません。代わりに、内部ソースタグのsrc属性を取得します

$('video').find('Source:first').attr('src');

これにより、ビデオタグ内の最初のソースタグのsrc属性の値が取得されます

于 2012-10-18T10:41:20.943 に答える
5

これを試して、

ライブデモ

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

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 );    
})​;
于 2012-10-18T10:39:06.650 に答える
1
var video = $('#task2ResultVideo');

video.find('source').each(function() {
  console.log($(this).attr('src'));
});​

// if you want to get array of the src
var arr = video.find('source').map(function() {
    return $(this).attr('src');
});
于 2012-10-18T10:39:53.967 に答える
0

これを試して:

$(video).children().each(function(index) {
    console.log(index + " " + $(this).attr('src'));
});
于 2012-10-18T10:38:49.663 に答える