Используя приведенный ниже код, я успешно получаю jQuery.load для загрузки html внешнего элемента в div ("tnc-import"
), но, согласно консоли, переменная newElementHeight
просто возвращает информацию инициализации элемента (init [prevObject: init(1), context: document, selector: "div#tnc-import > div#tnc"]
) вместо фактического получения атрибута true-height внешнего элемента.
Исходный документ содержит текст для импорта внутри <div id="tnc">...</div>
.
Целевой документ содержит ...
<div>
<iframe id="iframe" src="/bin/tnc-import" frameborder="0" scrolling="no"></iframe>
</div>`
Промежуточный документ, выполняющий импорт и форматирование: ...
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2'></script>
</head>
<body>
<div id="tnc-import"></div>
</body>
<foot>
<script type='text/javascript'>
$("#tnc-import").load( "../terms-and-conditions #tnc" );
var newElementHeight = $("div#tnc-import > div#tnc").height(true);
console.log(newElementHeight);
$('#iframe', window.parent.document).width('100%');
$('#iframe', window.parent.document).height(newElementHeight);
</script>
</foot>
</html>
Причина, по которой я пытаюсь это сделать, заключается в том, что все попытки получить height
, clientHeight
, offsetHeight
и т. Д. Элемента, загруженного в jQuery, всегда приводят к «0».Я буквально потратил более 12 часов на устранение неполадок с Google на эту одну цель, но без положительного результата.Возможно, что-то не так с этим сценарием, который я просто не заметил ... В любом случае, ни метод, ни какой-либо вариант, который я пробовал, не сработали.
Вот один из старых вариантов метода, который япытался ...
<script type='text/javascript'>
$('#iframe', window.parent.document).width('100%');
$('#iframe', window.parent.document).height($("div").outerHeight() + 10);
</script>