Javascript 获取大小为';px和x27;而不是百分比

Javascript 获取大小为';px和x27;而不是百分比,javascript,css,Javascript,Css,我必须编写一个javascript函数来返回div的当前大小(在px中)。不幸的是,div的权重是在%中指定的,而不是px div的样式:位置:绝对;宽度:100%;身高:100% 和我的宽度返回功能: function getTableWidth(tableId){ var tabWidth = document.getElementById('pt1::tabb').children[0].children[0].style.width; return tabWidth; }

我必须编写一个javascript函数来返回div的当前大小(在
px
中)。不幸的是,div的权重是在
%
中指定的,而不是
px

div的样式:
位置:绝对;宽度:100%;身高:100%

和我的宽度返回功能:

function getTableWidth(tableId){
    var tabWidth = document.getElementById('pt1::tabb').children[0].children[0].style.width;
    return tabWidth;
}
tabWidth
为“100%”

是否可以返回
px
宽度而不是
%
宽度


注意:我无法访问任何html/css,因为我正在处理的页面是通过复杂的框架生成的。我只能嵌入javascript。

每个浏览器都不同。在大多数情况下,可以使用DOM元素的
clientWidth
clientHeight
属性。在非IE浏览器中,您可以使用
document.defaultView.getComputedStyle()
。不过,我建议您使用一个框架来解决跨浏览器问题。在jQuery中,您可以使用像
$(element.width()

这样简单的方法获得当前的宽度(以像素为单位)。在大多数情况下,可以使用DOM元素的
clientWidth
clientHeight
属性。在非IE浏览器中,您可以使用
document.defaultView.getComputedStyle()
。不过,我建议您使用一个框架来解决跨浏览器问题。在jQuery中,您可以使用像
$(element.width()
这样简单的方法获取当前的宽度(以像素为单位)

应该做到这一点(在所有浏览器中!)


应该(在所有浏览器中!)

+1给出jQuery以外的其他方式(这是一个很好的答案,它本身就是正确的),因为OP可能无法/不愿意将jQuery添加到其复杂的框架输出中。谢谢,它可以工作。问题是我们使用的是Oracle ADF 11g,而我不能使用JQuery。我只需要一些小的javascript代码来定制一些“不可量化”的组件。或者如果使用Prototype(从1.7RC1开始新增):
$(tableId).getLayout().get('width')
:+1来提供除jQuery之外的其他方法(这是一个很好的答案,它本身就是正确的)因为OP可能无法/不愿意将jQuery添加到其复杂的框架输出中。谢谢,它可以工作。问题是我们使用的是Oracle ADF 11g,而我不能使用JQuery。我只需要一些小的javascript代码来定制一些“不可自定义”的组件。或者如果使用Prototype(从1.7RC1开始新增):
$(tableId).getLayout().get('width')
node.offsetWidth