Это, очевидно, не сработает, потому что вы получаете только первый элемент в массиве, возвращаемый getElementsByTagName
. Часть [0]
обращается к первому элементу в массиве. То, что вы хотели бы сделать, это перебрать все из них с помощью цикла, например:
var htmlPlayer = document.getElementsByTagName('video');
function pausePlayer() {
for(var i = 0; i < htmlPlayer.length; i++){
htmlPlayer[i].pause();
}
}
Редактировать
Относительно вашего второго вопроса - вы можете попробовать использовать вместо этого:
for(var i = 0; i < htmlPlayer.length; i++){
htmlPlayer[i].onclick = function() {
if ( this.paused || this.ended ) {
if ( this.ended ) { this.currentTime = 0; }
this.play();
} else {
this.pause();
}
}
}
this
в обработчике события должен ссылаться на элемент, который его вызвал.