Что такое код jQuery OR JavaScript для получения высоты внешнего элемента? - PullRequest
0 голосов
/ 12 сентября 2018

Используя приведенный ниже код, я успешно получаю 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>

1 Ответ

0 голосов
/ 12 сентября 2018

Согласно документации jQuery, .height() не принимает никаких аргументов с логическими параметрами, попробуйте удалить true из функции, чтобы получить высоту в элементе newElementHeight.

Ссылка: http://api.jquery.com/height/

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