Javascript - 获取未定义元素的宽度

时间:2012-09-20 17:57:10

标签: javascript jquery css dimensions

我有一个div元素,没有定义的宽度或高度。它拥有其他元素和尺寸的模具。 我需要得到div的最终大小,而无法检查其中元素的大小(动态元素)。

我尝试解析对象的所有属性,但什么都没找到,都是“未定义”。

有什么想法吗?

非常感谢

稍后编辑:

我有

<div id="xxx" style="position:relative;">  
    aaaa
</div>

我试过了:

var a = mydiv.style.width;

但它不起作用。

我也尝试过:

var getKeys = function (obj) {  
    var keys = [];

    for(var key in obj){  
        document.write(key+"="+obj.key+"<br>");  
    }  

    return keys;  
}  

getKeys(mydiv.style);  

显示所有属性,但没有任何信息。

jQuery解决方案完美无缺,但getComputedStyle正是我所寻找的,因为我不能在这里使用jquery。

对于简短的信息感到抱歉。

3 个答案:

答案 0 :(得分:5)

基于没有任何关于你在做什么的信息,我建议你(如果可能的话)使用window.getComputedStyle()方法,它会找到浏览器呈现的对象的属性:

var elem = document.getElementById('elemId'),
    properties = window.getComputedStyle(elem, null),
    height = properties.height,
    width = properties.width;

如果您有jQuery可用,那么您只需使用width()height()(或outerWidth() / outerHeight())方法:

var height = $('#elem').height(),
    width = $('#elem').width();

答案 1 :(得分:4)

您没有提供大量信息。我建议您使用您尝试使用的实际代码编辑帖子。

然而,使用JQuery:

$(DOMElement).width()           //-- Element width.
$(DOMElement).innerWidth()      //-- Element width + padding.
$(DOMElement).outerWidth()      //-- Element width + padding & border.
$(DOMElement).outerWidth(true)  //-- Element width + padding, border, and margin.

答案 2 :(得分:0)

$('div').width()将返回宽度...