Я использую сторонний плеер, который создается динамически после загрузки страницы.
Я пытаюсь добавить к нему элементы с помощью jQuery .prepend(), но ничего не происходит.
Исходный плеер выглядит так:
<div id="player"></div>
После загрузки страницы Player Script модифицирует плеер, и он станет выглядеть так:
<iframe id="player">
<div id="play_button"></div>
<div id="settings_button"></div>
</iframe>
Затем плагин вызывает событие "onPlayerReady" и проигрыватель начинает воспроизведение. После этого я пытаюсь добавить <div id="ad_icon">AD</div>
в div <div id="settings_button"></div>
с таким кодом:
function onPlayerReady(){
console.log($("#settings_button").length); // returns '0'
$("#settings_button").prepend("<div id='ad_icon'>AD</div>");
}
но ничего не происходит. Похоже, что div
с id=settings_button
не существует для jQuery. Console.log $("#settings_button").length
возвращает 0
. Я вижу новые элементы в коде страницы, но jQuery ничего не возвращает.
Любые идеи, как я могу использовать функцию .prepend() с динамически созданными элементами в iframe (которые были созданы не мной)?
#settings_button
существует в DOM, когда вы его запускаете? - person Rory McCrossan   schedule 24.11.2016prepend
код? он выполняется после того, как вашthird-party player
изменил div? - person bansi   schedule 24.11.2016prepend
после того, как игрок начинает играть. - person Kir Mazur   schedule 24.11.2016console.log($("#settings_button").length)
- person Pranav C Balan   schedule 24.11.20160
;( Что мне с этим делать? - person Kir Mazur   schedule 24.11.2016