我有以下要素。

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


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

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

谢谢

最佳答案

您可以将元素附加到文档中但在视口之外,例如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


Example fiddle

07-26 00:15