возможно ли получить высоту клонированного объекта jQuery? - PullRequest
5 голосов
/ 27 сентября 2011

Пример jQuery:

$('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());
})

Прямая ссылка: http://jsbin.com/odujiv/4

При запуске выше, вы получите результат '0' при попытке получить его высоту. Я думаю, это связано с тем, что клонированный объект еще не был помещен в DOM. Это единственный способ получить высоту, чтобы сначала добавить клонированный элемент обратно в DOM? Если это так, я думаю, что это выполнимо, но было бы здорово справиться с этим, прежде чем я верну его обратно в DOM.

Ответы [ 2 ]

4 голосов
/ 03 июля 2013

Нет, к сожалению. Необработанные HTML-элементы не имеют размеров, когда они не прикреплены к документу, и jQuery не реализовал обходного пути. Я предполагаю, что это из-за того, как взаимозависимые размеры элементов HTML находятся друг на друге!

0 голосов
/ 27 сентября 2011

Попробуйте это:

$theClone.height();

or

$theClone.css('height');
...