2

我有以下元素。

var e=$('<span/>', {"class":'someClass',text:'Hello'});

我希望得到它的外部宽度。看来我不能只使用e.outerWidth()它,因为它需要先写入屏幕。正确的?

所以,现在真正的问题。如果文本是“再见”,我希望知道外部宽度,而不是使用文本“Hello”,这将如何实现?

谢谢

4

1 回答 1

1

您可以将元素附加到文档但在视口之外,例如left: -10000px. 然后outerWidth()会工作。

试试这个:

var e = $('<span/>', {"class":'someClass',text:'Hello'}).css({
    'position': 'absolute',
    'left': '-10000px'
}).appendTo('body');
var outerWidth = e.outerWidth();
e.remove(); // remove the element from the DOM once we've got it's width

示例小提琴

于 2012-11-02T17:15:30.467 回答