如何知道内联元素的宽度而不添加文档?内联元素的宽度
与添加
var span = document.createElement('span');
span.innerHTML = 'Hello, world!';
span.offsetWidth; //0
document.body.appendChild(span);
span.offsetWidth; //70
如何不添加记录?
对不起,我的英语)
如何知道内联元素的宽度而不添加文档?内联元素的宽度
与添加
var span = document.createElement('span');
span.innerHTML = 'Hello, world!';
span.offsetWidth; //0
document.body.appendChild(span);
span.offsetWidth; //70
如何不添加记录?
对不起,我的英语)
宽度显然取决于所使用的样式(例如字体大小),所以不可能在不知道DOM在哪里的情况下计算元素的宽度。
如果你不想让它显示在屏幕上,你可以将它添加到一些不可见的元素。
你不能得到一个元素的宽度,如果元素本身不是DOM的一部分。
您需要添加它,但你也可以放置它的可视区域之外(使用位置:绝对和负左/顶属性),并删除它,一旦你得到了一个元素的宽度
在添加元素之前,无法确定它有多宽,因为它取决于样式上下文。
jQuery的width()
方法有一个技巧,它用于display: none
元素,我不知道它是否适用于一个甚至没有添加到DOM的元素(它通过临时显示元素,得到宽度,然后再次隐藏它)。