我正在尝试使用 jQuery 获取元素的宽度和高度。现在我有一个函数可以在元素周围包裹一个 span 并从临时 span 元素中获取大小。
HTML
<a id="test">click</a><br />
<div id="content" style="display:block">
<div>Hello world</div>
</div>
<h3>Result:</h3>
<div id="result"></div>
JS
$( '#test' ).click ( function () {
var size = elementSize ( '#content' );
$( '#result' ).html ( size.width + ' x ' + size.height + ' px' );
} );
function elementSize ( elementId ) {
var html_org = $( elementId ).html ();
var html_calc = '<span>' + html_org + '</span>';
$( elementId ).html( html_calc );
var ret = {
width: $( elementId ).find( 'span:first' ).width (),
height: $( elementId ).find( 'span:first' ).height (),
};
$( elementId ).html( html_org );
return ret;
}
一个(不)工作示例:http: //jsfiddle.net/KmeaC/1/
获得“Hello world”实际宽度和高度的唯一方法是删除它周围的 div 标签:http: //jsfiddle.net/ycxTr/。但这不是我想要的:)
任何人?