如何获取呈现的HTML页面的大小而不是其客户端大小?

时间:2011-08-21 01:52:50

标签: javascript html dom

我需要获取HTML页面上元素占用的大小 不是浏览器的客户端宽度 由于我不能强制执行html以将所有内容都放在div中,因为它是用户提供的,我需要知道它的大小。
我试图获取身体元素大小,但无法得到它。 (试过.width和style.width但都没有用)

3 个答案:

答案 0 :(得分:2)

除非您明确知道要测量哪些内容元素,并且您知道它们不是弹性内容元素,例如无论实际内容如何都是全宽度的div,否则您无法执行此操作。

如果您确实知道要测量哪些元素,则可以遍历所有元素,获取它们的大小和位置,并累积一个边界矩形,它是所有有趣元素的并集。但是,如果这是你不知道的任意HTML(正如你所描述的那样),你就无法知道你关心的东西和任意容器之间的区别,因为它自然会这样做。

例如,查看包含div中的wordwrapping文本。包含div的全宽,因此它将始终为全宽。包含div的高度可以测量,但宽度始终是全宽度,高度只适合特定宽度。改变宽度和高度会有所不同。

答案 1 :(得分:1)

尝试使用jQuery width()函数http://api.jquery.com/width/

答案 2 :(得分:1)

如果你使用像jQuery这样的库会有所帮助......浏览器有不同的报告宽度的方法......

在jQuery中,您可以执行此操作... $("#divId").width();并获取像素宽度。

http://api.jquery.com/width

中的更多内容