我正在构建一个div并将其附加到主div。在这样做的时候,我需要在构建它之前和附加它之前获得div的高度。
例如,
<script>
$(function(){
var text = $("#ObjText").html(); // This text is dynamic
var dv = $("<div id='childDiv'>"+text+"</div>");
alert($(dv).height()); // This is getting '0' - Need to get the height of the div here.
$("#page").append(dv);
//After appending to page able to get the height of the child div
alert($("#childDiv").height());
});
</script>
在我的身体标签
<body>
<div id="page"></div>
</body>
请帮我解决这个问题。提前谢谢。
答案 0 :(得分:8)
尚未添加到dom的div没有高度。
你可以做的是隐藏div,然后追加它并获得高度然后显示div:
$(function(){
var text = $("#ObjText").html(); // This text is dynamic
var dv = $("<div id='childDiv'>"+text+"</div>").hide(); // hide the div
$("#page").append(dv);
alert(dv.height()); // should have the correct height
dv.show();
});
答案 1 :(得分:6)
我认为在将其附加到文档之前,您可以获得在运行时创建的任何对象的高度。
jQuery执行并获取文档上所有DOM就绪对象的结果(你的html)因此,在追加你之前你无法获得高度。
如果您仍想获得高度我可以建议您在html上临时放置div,您可以附加当前div并检查高度。如果你想要你并将div追加到你想要的地方。
希望以上内容可以帮助您找到解决方案......
答案 2 :(得分:-2)
使用style="display: none"
插入,然后使用普通的jquery .height()来获取高度。在需要时用.show()显示它。