我需要获取HTML页面上元素占用的大小
不是浏览器的客户端宽度
由于我不能强制执行html以将所有内容都放在div中,因为它是用户提供的,我需要知道它的大小。
我试图获取身体元素大小,但无法得到它。 (试过.width和style.width但都没有用)
答案 0 :(得分:2)
除非您明确知道要测量哪些内容元素,并且您知道它们不是弹性内容元素,例如无论实际内容如何都是全宽度的div,否则您无法执行此操作。
如果您确实知道要测量哪些元素,则可以遍历所有元素,获取它们的大小和位置,并累积一个边界矩形,它是所有有趣元素的并集。但是,如果这是你不知道的任意HTML(正如你所描述的那样),你就无法知道你关心的东西和任意容器之间的区别,因为它自然会这样做。
例如,查看包含div中的wordwrapping文本。包含div的全宽,因此它将始终为全宽。包含div的高度可以测量,但宽度始终是全宽度,高度只适合特定宽度。改变宽度和高度会有所不同。
答案 1 :(得分:1)
尝试使用jQuery width()函数http://api.jquery.com/width/。
答案 2 :(得分:1)
如果你使用像jQuery这样的库会有所帮助......浏览器有不同的报告宽度的方法......
在jQuery中,您可以执行此操作... $("#divId").width();
并获取像素宽度。