我有一个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。
对于简短的信息感到抱歉。
答案 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()
将返回宽度...