如何获得div元素的宽度和高度?
例如,
<div style="width:100px;height:100px;overflow:hidden; float:left; margin:0px 0px 5px 0px; border:1px solid #000;">
<img src="daisy_03_20110712163828_extra.jpg" alt="daisy_03_20110712163828_extra.jpg" width="800" height="589" id="preview"/>
</div>
我试过这个方法,
var previewwidth = $("#preview").css('width');
var previewheight = $("#preview").css('height');
但我得到800px
,而不是图像的宽度!
我希望100
实际上为number
。
答案 0 :(得分:3)
给div一个id,并使用它而不是图像的id。
答案 1 :(得分:3)
有三种可能的方法:
$("#preview").parent().css('width');
$("#preview").parent().css('height');
$("#preview").parent().width();
$("#preview").parent().height();
这将不包括边距,填充和边框。
$("#preview").parent().outerWidth();
$("#preview").parent().outerHeight();
这将包括填充,边框和可选的边距。要包含保证金,您必须在函数中添加true
,即.outerHeight(true)
。
答案 2 :(得分:2)
您使用$("#preview")
会返回img,因为img标记是id="preview"
第一个选项:
$("#preview").parent().css('width');
其次,更好的选择:
给div一个id,说“foofoo”:
<div id="foodoo">...</div>
$("#foofoo").css('width');
将其变为整数换行parseInt()
:
parseInt($("#foofoo").css('width'));
答案 3 :(得分:1)
var previewwidth = $("#preview").parent().width();
var previewheight = $("#preview").parent().height();
答案 4 :(得分:0)
答案 5 :(得分:0)
preview
是图片的ID,因此您的代码当然会返回图片的大小。只需给你的div一个不同的唯一ID,并在jQuery选择器中使用它而不是#preview
。
<div id="myDiv" style="width:100px;height:100px;overflow:hidden; float:left; margin:0px 0px 5px 0px; border:1px solid #000;">
<img src="daisy_03_20110712163828_extra.jpg" alt="daisy_03_20110712163828_extra.jpg" width="800" height="589" id="preview"/>
</div>
以下内容将div的宽度/高度返回为“100px”:
var previewwidth = $("#myDiv").css('width');
var previewheight = $("#myDiv").css('height');
并将结果作为无单位数而不是字符串:
var previewwidth = $("#myDiv").width();
var previewheight = $("#myDiv").height();
答案 6 :(得分:0)
你可以这样做(jsfiddle作为例子):
var mydiv = jQuery('#preview').parent('div');
var mywidth = mydiv.width();
var myheight = mydiv.height();