如何从javascript获取内联块字段集的显示宽度
如果有一个带有display:inline块的字段集,则其宽度取决于包含的元素。您可以看到它,但假设:如何从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); <
<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