Я хотел бы поделиться решением, которое я придумал, используя jQuery, который работает, если у вас есть несколько видео YouTube, встроенных в одну страницу. В моем случае я определил модальное всплывающее окно для каждого видео следующим образом:
<div id="videoModalXX">
...
<button onclick="stopVideo(videoID);" type="button" class="close"></button>
...
<iframe width="90%" height="400" src="//www.youtube-nocookie.com/embed/video_id?rel=0&enablejsapi=1&version=3" frameborder="0" allowfullscreen></iframe>
...
</div>
В этом случае videoModalXX представляет уникальный идентификатор для видео. Затем следующая функция останавливает видео:
function stopVideo(id)
{
$("#videoModal" + id + " iframe")[0].contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*');
}
Мне нравится этот подход, потому что он останавливает видео, где вы остановились на случай, если вы захотите вернуться и продолжить просмотр позже. Это хорошо работает для меня, потому что он ищет iframe внутри видео-мода с определенным идентификатором. Специальный идентификатор элемента YouTube не требуется. Надеюсь, кому-то это тоже пригодится.