我想做的事情是:
$('<span>random text in here</span>').width()
但是它返回的宽度为0。(我尝试做这个事情是为了获取给定文本的像素宽度。)
如何通过编程方式获取宽度呢?
谢谢。
我想做的事情是:
$('<span>random text in here</span>').width()
如何通过编程方式获取宽度呢?
谢谢。
你需要将其渲染出来。
你可以这样做:
var s = $('<span>random text in here</span>');
s.appendTo(document.body);
var w = s.width();
s.remove();
请注意:
这里是使用内存画布测量一些文本宽度的解决方案:
var canvas = document.createElement('canvas');
var c = canvas.getContext('2d');
// set here c.font to adjust it to your need
var w = c.measureText('random text in here').width;
通常情况下,我会使用第一个,但这可能取决于您想要测量文本的原因。
0
,因为该span没有大小。它尚未添加到DOM中。它在DOM中的位置将改变其字体大小,因此无法在不以某种方式呈现它的情况下进行计算。 - zzzzBov