内联元素的宽度
Width of an inline element
本文关键字:元素 更新时间:2023-09-26
如何在不添加到文档的情况下知道内联元素的宽度?
添加
var span = document.createElement('span');
span.innerHTML = 'Hello, world!';
span.offsetWidth; //0
document.body.appendChild(span);
span.offsetWidth; //70
如何不添加到文档?
对不起我的英语)
元素的宽度显然取决于所使用的样式(例如字体大小),因此在不知道元素在DOM中的位置的情况下,不可能计算元素的宽度。
如果你不想让它出现在屏幕上,你可以把它添加到一些不可见的元素中。
如果元素本身不是DOM的一部分,则无法获取元素的宽度。
您需要将其附加,但也可以将其放置在可见区域之外(具有position:absolute和负左/上属性),并在获得宽度
在添加元素之前,无法确定它的宽度,因为它取决于样式上下文。
jQuery的width()
方法有一个用于display: none
元素的技巧,我不知道它是否适用于一个甚至还没有添加到DOM中的元素(它的工作方式是临时显示元素,获取宽度,然后再次隐藏它)。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 在Jquery detachment()和appendTo()之后定位元素
- 在动态创建的元素上获取对特定选择器的引用
- 根据元素和容器大小计算边距