jquery使用height()返回元素高度总是为0

var mObj = $(‘#menu_list‘);
var mHeight = mObj.height();
console.log(mHeight);//0

当我在console里面,直接获取元素的高度,又是正常的。

$(‘#menu_list‘).height();//45

百度了一下,jQuery使用height()返回0的问题,都是说因为jQuery无法获取隐藏元素.但是我的元素是显示的,并没有隐藏。

仔细想了下,想起来是菜单下面的元素使用了float属性。而float属性,会导致父元素的高度为0.以前在chrome或者Firefox下查看元素,父元素的高度都会是0.chrome的标尺会直接标出来是0,而Firefox下,则会看不到父元素。

想到了这点,就开始验证。

.clearfix:after{display: block;height:100%;_height:100%;clear:both;content:‘\020‘;}
.clearfix{zoom:1;}

加入clearfix的样式

<ul id="menu_list" class="clearfix">
....
</ul>

再次刷新页面:

console.log(mHeight);//45

OK!

时间: 2024-08-04 05:43:07

jquery使用height()返回元素高度总是为0的相关文章

jQuery无法获取隐藏元素(display:none)宽度(width)和高度(height)的新解决方案

用jQuery写一个通过点击左右图标来翻阅图片的小插件,写好后测试可以正常运行,但是放到Tab中后发现只有第一个Tab中的代码能够正常运行,其它全部罢工了. 用Chrome自带的开发工具一查,发现罢工的Tab中.小插件一些重要元素的宽度都变成“0”了,因为这个小插件需要计算动态宽度来实现,于是马上想到是小插件中的宽度获取失败了,果不其然. 汗,居然一直没发现jQuery无法获取隐藏元素(display:none)的宽度(width)和高度(height),为了兼容IE6,我用1.x版,而且是官方

jQuery获取页面及个元素高度、宽度

获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 : $(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 : $(document).width(); 浏览器当前窗口文档body的高度: $(document.body).height(); 浏览器当前窗口文档body的宽度: $(document.body).width(); 获取滚动条到顶部的垂直高度 (

Jquery获取元素高度

第一步, 获取你要得到高度的那个div的jQuery对象, 获得方法有很多很多种, 具体你可以看一下jQuery API文档里的选择器部分, 在这里我只跟你说一个最直接的方法, 通过id获得: $("#div_id")第二步, 要看你要得到的是什么高度了, jQuery里现有的三个(其实是两个)获得高度的方法是:1. $("#div_id").height(); // 获得的是该div本身的高度, (不包含padding,margin,border)2. $(&qu

jquery操作ajax返回的页面元素

这两天工作不忙,正好从朋友那里拿到一个某个应用的开发文档,相关数据放在了mongodb里,自己电脑可以本地开启服务器然后通过给的借口来获取数据.由于这是一个比较大比较全的一个完整项目,也没有那么多经历全部做一下,就找了其中几部分来做一下,由于是一个电商类的移动端,所以那些数据都是动态加载上去的,通过ajax动态获取然后添加到页面上,所以主要是模板引擎的使用和ajax的运用,其他就是一些样式的操作.虽然以前也做过,但是这次碰到了一个问题,就是需要在ajax返回的内容里找到某个元素,然后给那个元素绑

jquery javascript获得网页的高度和宽度

javascript 网页可见区域宽:     document.body.clientWidth网页可见区域高:     document.body.clientHeight网页可见区域宽:     document.body.offsetWidth (包括边线的宽)网页可见区域高:     document.body.offsetHeight (包括边线的高)网页正文全文宽:     document.body.scrollWidth网页正文全文高:     document.body.sc

jQuery获取和操作元素的属性和CSS样式

本文学习如何使用jQuery获取和操作元素的属性和CSS样式. 元素属性和Dom属性 对于下面这样一个标签元素: <img id='img' src="1.jpg" alt='1' class="imgs"></img>  我们通常将id,src,alt,class称为属性,也即元素属性.但是,当浏览器对标签元素进行解析时,会将元素解析为Dom对象,相应的,元素属性也就解析为Dom属性. 元素属性和Dom属性只是在我们对其进行不同解析时的不同

jQuery的height()和JavaScript的height总结,js获取屏幕高度

jquery的各种高度 首先来说一说$(document)和$(window),如下: $(document).height();//整个网页的高度 $(window).height();//浏览器可视窗口的高度 $(window).scrollTop();//浏览器可视窗口顶端距离网页顶端的高度(垂直偏移) 用一句话理解就是:当网页滚动条拉到最低端时, $(document).height() == $(window).height() + $(window).scrollTop(). 注意,

jquery获取、改变元素属性值

//标签的属性称作元素属性,在JS里对应的DOM对象的对应属性叫DOM属性.JS里的DOM属性名有时和原元素属性名不同. //==================================操作元素属性================================== //返回元素指定属性值 var txt1_val=$("#txt1").attr("value"); //通过元素的DOM属性名更改DOM属性值 $("#txt1").att

jquery尺寸:宽度与高度

width() 方法设置或返回元素的宽度(不包括内边距.边框或外边距). height() 方法设置或返回元素的高度(不包括内边距.边框或外边距). innerWidth() 方法返回元素的宽度(包括内边距). innerHeight() 方法返回元素的高度(包括内边距). outerWidth() 方法返回元素的宽度(包括内边距和边框). outerHeight() 方法返回元素的高度(包括内边距和边框). outerWidth(true) 方法返回元素的宽度(包括内边距.边框和外边距). o