Javascript 尝试获取实际宽度&;使用jQuery的元素的高度
我试图用jQuery获取元素的宽度和高度。现在我有了一个函数,它在元素周围包装一个span,并从临时span元素获取大小 HTMLJavascript 尝试获取实际宽度&;使用jQuery的元素的高度,javascript,jquery,actualwidth,actualheight,Javascript,Jquery,Actualwidth,Actualheight,我试图用jQuery获取元素的宽度和高度。现在我有了一个函数,它在元素周围包装一个span,并从临时span元素获取大小 HTML 获取“Hello world”的实际宽度和高度的唯一方法是删除其周围的div标记:。但这不是我想要的:) 有人吗?编辑答案 $(“#测试”)。单击(函数(){ 变量大小=元素大小(“#内容”); $('#result').html(size.width+'x'+size.height+'px'); }); 功能元素大小(元素ID){ var html_org=$
获取“Hello world”的实际宽度和高度的唯一方法是删除其周围的div标记:。但这不是我想要的:)
有人吗?编辑答案
$(“#测试”)。单击(函数(){
变量大小=元素大小(“#内容”);
$('#result').html(size.width+'x'+size.height+'px');
});
功能元素大小(元素ID){
var html_org=$(elementId.html();
var$html\u calc=$(''+html\u org+'').css({
位置:'绝对',
顶部:-9999,
左:-9999
}).附于(“主体”);
变量ret={
宽度:$html\u计算宽度(),
高度:$html_计算高度(),
};
$html_calc.remove();
返回ret;
}
复制隐藏元素时,其大小为零。只需将其取消隐藏以进行计算:
function elementSize ( elementId ) {
...
$( elementId ).html( html_calc ).show();
var ret = {
...
};
$( elementId ).html( html_calc ).hide();
...
return ret;
}
因为我想要元素中html的宽度/高度。使用您的解决方案,我得到的是元素本身的大小,而不是元素中的大小:请参阅更新的答案,但当然,这将返回与容器相同的大小,因为DIV将宽度和高度调整为其内容,除非某些CSS规则应用为填充/边框等。。。如果仍然没有按照你的预期工作,请考虑告诉你在这个情况下你想要什么内容,谢谢马丁的回复,但是它仍然不起作用:或者我在这里做了什么错误吗?我只是在计算之前添加了。
$( '#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;
}
$('#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>').css({
position: 'absolute',
top: -9999,
left: -9999
}).appendTo('body');
var ret = {
width: $html_calc.width(),
height: $html_calc.height(),
};
$html_calc.remove();
return ret;
}
function elementSize ( elementId ) {
...
$( elementId ).html( html_calc ).show();
var ret = {
...
};
$( elementId ).html( html_calc ).hide();
...
return ret;
}