我有以下要素。
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