Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript计算文本的宽度?_Javascript_Angularjs - Fatal编程技术网

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

如何使用javascript计算文本的宽度?,javascript,angularjs,Javascript,Angularjs,如何获得文本的宽度 var e=document.createElement('span'); e.style.fontSize = scope.fontsize; e.innerHTML = "test"; console.log(e.offsetWidth); 宽度始终为0似乎必须将创建的元素附加到文档中 var e=document.createElement('span'); document.body.appendChild

如何获得文本的宽度

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

宽度始终为0

似乎必须将创建的元素附加到
文档中

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()
之后,它可能无论如何都不会显示。但增加
位置:绝对
是一个好主意,因为这将防止其余html内容闪烁

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

如果您只需要宽度并想真正显示它,您还可以添加一个css类来隐藏它。似乎只有在实际显示元素时才计算宽度。它在末尾创建空白的span标记。我们不能在末尾删除thosee.remove()吗