mẫu jQuery:là nó có thể để có được chiều cao của một đối tượng jQuery nhân bản không?
$('document').ready(function(){
var $theP = $('p');
var $theDiv = $('div');
$theP.html($theP.html() + "<br>div height: " + $theDiv.outerHeight());
var $theClone = $theDiv.clone();
$theP.html($theP.html() + "<br>clonded div height: " + $theClone.outerHeight());
})
Live link: http://jsbin.com/odujiv/4
Trong khi đang chạy ở trên, bạn sẽ có được một kết quả của '0' khi cố gắng để có được chiều cao của nó. Tôi nghĩ điều này là do thực tế rằng đối tượng nhân bản chưa được đưa vào DOM. Cách duy nhất để có được chiều cao đầu tiên thêm phần tử nhân bản trở lại DOM? Nếu vậy, tôi nghĩ rằng đó là khả thi, nhưng nó sẽ là tuyệt vời để xử lý nó trước khi tôi đưa nó trở lại vào DOM.
Có giải pháp 'hacky' cho một mục tương tự được đề xuất tại đây: http://stackoverflow.com/questions/2345784/jquery-get-height-of-hidden-element-in-jquery-1-4-2 – Clive
Yea , Tôi tưởng tượng giải pháp là tôi phải thêm nó vào DOM trước khi nhận được chiều cao. Điều đó có thể sẽ hoạt động. Tôi có thể thêm nó vào DOM, vị trí của nó ngoài màn hình, có được chiều cao, làm tính toán của tôi, sau đó vị trí nó, nơi tôi muốn. –
Tôi đã chạy vào điều này trước khi - thêm vào DOM off-screen đã làm các trick. – Pat