Benjamin Allison
Benjamin Allison

Reputation: 2154

Use jQuery to control video tag

So, I want to use a jQuery function to collect a URL from a link's REL, and pass it to a element.

Collecting the REL and sending it to the is no problem... but what's required to trigger the element's load and play functions, from jQuery?

Here's what I have so far:

$(function(){   
    $('a.componentLink').click(function() {
        event.preventDefault();
        var vidURL = $(this).attr('rel');
        $('#myVideo > source').attr('src', vidURL);
        $('#myVideo').load();
        $('#myVideo').play();
    })
});

ATM, it doesn't play... I assume jQuery doesn't natively have access to the play function... but there must be a way around that.

Upvotes: 6

Views: 25043

Answers (1)

lonesomeday
lonesomeday

Reputation: 238045

You need to call .play() on the element itself, not on the jQuery selection. Do the following:

$(function(){   
    $('a.componentLink').click(function() {
        event.preventDefault();
        var vidURL = $(this).attr('rel');
        $('#myVideo').attr('src', vidURL);
        var video = $('#myVideo').get(0);
        video.load();
        video.play();
    })
});

Upvotes: 20

Related Questions