在jQuery中,我想在克隆对象被附加到主体之前获得它的高度。
注意:我没有在CSS中指定宽度和高度(这是要求)。
有可能吗?
<body>
<style>.square {}</style>
<script>
jQuery(function($) {
var o = $(".square").clone(true);
$(o).css('height','auto').html("Some stuff...<br/><br/>");
// output 0 (Question: how to get the height?)
console.log($(o).height());
$(o).appendTo("body");
// output the height (i.e. 38)
console.log($(o).height());
});
</script>
<div class="square"></div>
</body>
答案 0 :(得分:5)
由于在将元素添加到文档之前无法可靠地测量元素,因此一种方法是利用绝对定位将元素放在视口之外:
jQuery(function($) {
var $o = $(".square").clone(true);
$o.css("height", "auto").html("Some stuff...<br/><br/>");
$o.css({
position: "absolute",
left: "-10000px"
}).appendTo("body");
console.log($o.height()); // Works.
$o.css("position", "static"); // Reset positioning.
});