如何使用javascript计算文本的宽度?

时间:2016-01-07 17:55:47

标签: javascript angularjs

如何获取文本的宽度。

var e=document.createElement('span');
          e.style.fontSize = scope.fontsize;
          e.innerHTML = "test";
          console.log(e.offsetWidth);

宽度始终为0

1 个答案:

答案 0 :(得分:2)

似乎您必须将创建的元素附加到document

var e=document.createElement('span');
document.body.appendChild(e);
e.style.fontSize = 14;
e.innerHTML = "test";
console.log(e.offsetWidth);
e.remove();

输出:23

隐藏元素不起作用。

 e.style.display= "none";

输出:0

要“隐藏”,您可以添加类似的CSS。但添加remove()后,它可能无法显示。但添加position:absolute;是一个好主意,因为这可以防止其他html内容的闪烁。

   position:absolute;
   margin-left:-1000em;