有没有办法在 Javascript(使用 jQuery,很高兴利用它们提供的任何功能)中找到隐藏元素的文本宽度?
我想要一个节点图。每个节点内部都有文本,我希望节点的宽度能够容纳文本的上限。所以我基本上创建了隐藏的 <div>
里面有一些 html。然后我使用 jQuery 来显示那些 <div>
在图表上的正确位置。提前知道正确的宽度很重要,这样我才能正确构建图表。
更新:澄清一下,我需要知道某些文本在隐藏时的宽度。 Blender 在下面给出了答案,我希望有一个不那么棘手的方法?
你指的是什么宽度?如果你的意思是 <div>
元素的宽度,有一个方便的函数可以满足您的需要。尝试其中的一些:
$('#foo').width();
$('#foo').innerWidth();
$('#foo').outerWidth();
至于找到 width
一个隐藏元素,我通常会做这个卑鄙的把戏:
var zIndex = $('#foo').css('z-index');
$('#foo').css('z-index', '-10');
$('#foo').css('position', 'absolute');
$('#foo').css('display', 'block');
var fooWidth = $('#foo').width();
$('#foo').css('display', 'none');
$('#foo').css('z-index', zIndex);
不过,一定有更简单的方法......