<script type="text/javascript">
function getWidth(element){
var parent = element.parent();
$('body').append(element);
var width = element.width();
parent.append(element);
return width;
}
$(function(){
var width = $("#foo").width();
console.log(width); //0
width = getWidth($("#foo"));
console.log(width); //ok
});
</script>
<div style='display:none'>
<div style='display:none' id='foo'>bar</div>
</div>
答案 0 :(得分:1)
隐藏元素时,其宽度可能因样式而异。当隐藏元素位于另一个隐藏元素中时,结果可能会再次变化。但是,Jquery代码非常简单:
$('#foo').parent().width()
这将抓住foo的父div,然后抓住它的宽度,但我无法保证它会获得该元素的未隐藏的自然宽度。希望有所帮助!