通过不将它附加到Dom来获取Element的宽度

时间:2017-12-18 14:12:39

标签: javascript jquery html css dom

我正在尝试使用jQuery的.width()函数来获取元素的宽度。我试图通过将该元素附加到Dom中来获得元素的宽度。

$('body').append("<span id='longText'></span>");
var longElement = $('body').find("#longText");
longElement.text(longestMeasure);
var longeElementWidth = longElement.width();

这种方法运行正常。但是我们可以通过不将它注入Dom来获得元素的宽度吗?

1 个答案:

答案 0 :(得分:0)

CAN&#39; T 在没有将其插入DOM的情况下完成它,但这是我能想到的一个技巧,它将它插入到dom中隐藏,得到任何东西您希望的CSS属性,然后删除元素。

只有差异到你的代码才是我将display设置为none并在获得宽度后立即删除元素。

$(document).ready(function () {
    $('body').css('display','none').append("<span id='longText'></span>");
    var longElement = $('body').find("#longText");
    longElement.text(longestMeasure);
    var longeElementWidth = longElement.width();
    longElement(remove);
}

哦,当文档准备就绪时,我还将所有内容都包装起来。