用于获取外部元素高度的jQuery或JavaScript代码是什么?



使用下面的代码,我成功地让jQuery.load将外部元素的html拉入div("tnc-import"(,但根据控制台,newElementHeight变量只返回元素的init信息(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>

我尝试这样做的原因是所有获取 jQuery 加载元素的heightclientHeightoffsetHeight等的尝试总是导致"0"。我实际上花了超过 12 个小时与 Google 一起解决这个目标,但没有积极的结果。也许那个脚本有什么问题,我只是没有注意到......无论哪种方式,我尝试过的方法或任何变体都不起作用。

这是我正在尝试的旧方法变体之一......

<script type='text/javascript'>
$('#iframe', window.parent.document).width('100%');
$('#iframe', window.parent.document).height($("div").outerHeight() + 10);
</script>

根据 jQuery 的文档,.height()不接受任何带有布尔参数的参数,请尝试从函数中删除 true 以接收元素newElementHeight高度。

参考资料 :http://api.jquery.com/height/

最新更新