Прежде всего, есть кое-что, что вы должны узнать о jQuery.
Каждый раз, когда вы вызываете $ () (с некоторыми аргументами), создается новый объект jQuery, что плохо сказывается на производительности. Если вы выполняете вызов $ () с теми же аргументами, вы должны кэшировать результат, поэтому в вашем случае это будет:
var video_object = $(this).get(0);
video_object.currentTime = 0;
video_object.pause();
Во-вторых, когда вы выполняете каждый цикл с помощью jQuery, контекст вашей функции (this) и второй аргумент являются html-объектами. Так что оборачивать их в метод $ () и затем делать .get (0) не имеет смысла.
Так что это так же, как ваш метод:
function stopVideo() {
// Make sure to turn off and reset the video
$( '.html5-video' ).each( function( index, element ) {
element.currentTime = 0;
element.pause();
} );
}
Вернемся к вашей проблеме сейчас.
Можете ли вы привести пример или некоторые подробности, потому что приведенный выше код работает для меня без ошибок (http://jsfiddle.net/klaascuvelier/fypAR/)