Доступ к элементам в динамически созданном iframe (jquery 1.x) - PullRequest
0 голосов
/ 12 февраля 2019

Я создал iframe с содержимым, динамически загружаемым с помощью jquery, как этот, и я хочу, чтобы документ iframe имел доступ к своему содержимому, как только он был загружен:

jQuery('<iframe>', {
    id: 'widgetFrm',
    width: '100%'
})
.appendTo('#widgetDiv')
.on('load', function () {
    jQuery(this).contents().find('body').append(data.html);
})

Документ фрейма знает о jquery, потому что яиспользуйте

if (typeof(jQuery) == "undefined") {
    var iframeBody = document.getElementsByTagName("body")[0];
    var jQuery = function (selector) { return parent.jQuery(selector, iframeBody);
}

там.В iframe я хотел бы получить доступ к его элементам div после того, как все было загружено, для этого я использую jQuery(document).ready (в динамически загружаемом контенте).

Проблема: Доступ к своим собственным элементам в рамочном документе как-то не работает с jquery 1.x в блоке готовности документа!document.getElementById('#someDiv') возвращает значение null, а jQuery('#someDiv').prop('scrollHeight') возвращает неопределенное значение, хотя содержимое фрейма имеет этот элемент (доступ к нему при нажатии кнопки работает!).С более новыми версиями jQuery (например, 3.3.1) это работает, но я не могу изменить эту версию в настоящее время.Есть ли другой способ сделать это?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...