Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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_Html_Css_Fieldset - Fatal编程技术网

如何从javascript获取内联块字段集的显示宽度

如何从javascript获取内联块字段集的显示宽度,javascript,html,css,fieldset,Javascript,Html,Css,Fieldset,如果有一个带有display:inline块的字段集,则其宽度取决于包含的元素。您可以看到它,但假设: <fieldset id='fs' style='display: inline-block'> <input type=number> </fieldset> <script> var fs=document.getElementById("fs"); console.log("fs.width:",fs.width); <

如果有一个带有display:inline块的字段集,则其宽度取决于包含的元素。您可以看到它,但假设:

<fieldset id='fs' style='display: inline-block'>
  <input type=number>
</fieldset>

<script>
  var fs=document.getElementById("fs");
  console.log("fs.width:",fs.width);
</script>
在尝试了很多东西之后,我终于能够得到这样的结果:

<script>
  var fs=document.getElementById("fs");
  var fsrects=fs.getClientRects();
  var fswidth=fsrects[0].right-fsrects[0].left;
  console.log("fswidth:",fswidth);
</script>

一定有更简单的办法!救命啊

您可能正在寻找

HtmleElement.offsetWidth只读属性返回元素的布局宽度。通常,元素的offsetWidth是一种度量,它包括元素边框、元素水平填充、元素垂直滚动条(如果存在,如果渲染)和元素CSS宽度

var fs=document.getElementById(“fs”);
console.log(“fs.width:,fs.offsetWidth”)

太棒了!谢谢
<script>
  var fs=document.getElementById("fs");
  var fsrects=fs.getClientRects();
  var fswidth=fsrects[0].right-fsrects[0].left;
  console.log("fswidth:",fswidth);
</script>
fswidth: 98.6640625