Мне нравится оставлять мой javascript вне поля зрения, если это возможно, но я обнаружил, что это сложно в определенных ситуациях.
Скажем, у меня есть частичное видео, которое имеет соответствующий javascript (с помощью jplayer):
.video
content_for :javascript/head
/ jplayer instance code here
Одна из альтернатив, которые, как я думал, заключается в подключении к .video
в отдельном js файле и создании объектов jplayer через это.
$('.video').each
# jplayer instance code here
Мой вопрос: а как насчет страниц, где ".video" не найден? Это вызовет проблемы, если у меня есть много искателей jquery, которые отсутствуют?
вы можете попробовать проверить длину видео и запустить только в том случае, если он существует
var $video = $('.video');
if(video.length !== 0){
$('.video').each
# jplayer instance code here
}
он проверяет длину этого объекта jQuery в DOM