解决jQuery在chrome中获取height为0

  笔者之前在一家创业公司做过项目,当时遇到这么一个奇怪的问题,我需要用一个jQuery的height()方法获取一个div的高度,但是在chrome浏览器上面有时可以正常获取,但是同一个页面刷新多几次获取的高度值就变为0了!!!然而用其他浏览器完全没有这个问题,我当时意识到这明显是浏览器的问题,于是我问度娘问谷妹,终于找到一哥们情况和我一样,并且我在他的指导下成功地解决了问题,yeah!

  于是乎,我使用了原生的window.onload=function(){}代替 $(function(){}),终于得到了我想要的结果

  在这里,我也想吐槽一下浏览器之间的不和谐,有时候在一个浏览器上面运行很好的程序,换个浏览器就G了,本来呢,兼容性问题已经是一件很让人心碎的事情了,现在是我明明代码没有写错,却因为是浏览器解析问题而导致错误的结果,我也是万万没有想到是这个原因,直到我辛苦排查出是height()的问题那一刻我还不知道为啥这会错,相信以后还会遇到更多奇葩的问题,只能一边积累项目经验,一边衷心地希望以后浏览器的技术能够兼容能够统一起来

时间: 2024-12-24 08:03:17

解决jQuery在chrome中获取height为0的相关文章

记录一次bug解决过程:velocity中获取url中的参数

一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-site request forgery,跨站请求伪造),在form表单提交中要加入$!csrfToken.ajaxUniqueToken 二.Bug描述:Velocity从URL中获取parameter参数 在项目IDCM中,使用webx容器进行项目的开发.前端的模板引擎采用了velocity,在项目

利用JQuery在iframe中获取父亲窗口的元素方法

$(window.parent.document).find("#blackbg").css("opacity","0");$(window.parent.document).find("#divdyiframe").css("display","none");利用Javascript在iframe中获取父亲窗口的元素方法window.parent或者是window.toptop永远指向

解决在onCreate()过程中获取View的width和Height为0的4中方法

很经常当我们动态创建某些View时,需要通过获取他们的width和height来确定别的view的布局,但是在onCreate()获取view的width和height会得到0.view.getWidth()和view.getHeight()为0的根本原因是控件还没有完成绘制,你必须等待系统将绘制完View时,才能获得.这种情况当你需要使用动态布局(使用wrap_content或match_parent)就会出现.一般来讲在Activity.onCreate(...).onResume()方法中

解决从json文件中获取不到数据的问题

在写项目时我们需要数据渲染,在渲染的过程中有时会发现有些数据一直渲染不到页面上: 解决此问题我总结了一下几点 1.首先先查找自己的json文件路径是否正确, 错误示范: $http.get(index.json).success(function(data){ $scope.Y_box=data.Y_box; }) 正确规范: $http.get('index.json').success(function(data){ $scope.Y_box=data.Y_box; }) 2.查看从后台获取

【原创】解决jquery在ie中不能解析字符串类型xml结构的xml字符串的问题

$.fn.extend({ //此方法解决了ie中jquery不识别非xml的类型的xml字符串的问题 tony tan findX: function (name) { if (this && this.length && this.length > 0 && this[0]) { var _r1 = '<' + name + '>', _r2 = '<\/' + name + '>'; var _exp = _r1 + '.

解决Jquery jsonp请求中dataFilter存在的问题

初始化js时加入(如下代码)即可解决dataFilter 数据问题 $.ajaxPrefilter("json script", function(options, originalOptions, jqXHR) {    if (options.dataFilter) {        options._success = options.success;        options._dataFilter = options.dataFilter;        options.

从html字符串中获取div内容---jquery

思考的问题: 怎么在一个网页的div中嵌套另外的网页(不使用inclue,iframe和frame,不使用他们的原因,include只能嵌套静态网页,iframe对网络爬虫影响,frame嵌套网页无法获取父级页面信息,不够灵活) 如果不想嵌套整个网页怎么办?(只是嵌套另外页面的部分内容) 回答(想法): 使用jquery的ajax函数或者load函数可以获取网页内容,从而实现嵌套网页(获取到的网页内容是html字符串) 怎么从字符串中获取部分内容? 实践1: index.html页面(在这个页面

解决jQuery中dbclick事件触发两次click事件

首先感谢这位小哥!http://qubernet.blog.163.com/blog/static/1779472842011101505853216/ 太长姿势了. 在jQuery事件绑定中,dbclick可以触发两次click事件.例如一个DOM元素div,既绑定了 click 事件,又绑定了 dblclick 事件,这两个事件分别要做独立的事情.事件处理上没有冲突,都可以各自完成各自的操作.双击的时候虽然是执行了 dblclick 事件,但是在这之前,也执行了click 事件,那么,如何来

jQ禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等高、动态控制页面字体大小、获得鼠标指针的X值Y值、验证元素是否为空、替换元素、延迟加载、验证元素是否存在于Jquery集合中、使DIV可点击、克隆对象、使元素居中、计算元素个数、使用Google主机上的Jquery类库、禁用Jquery效果、解决Jquery类库与其他Javascript类库冲突

1. 禁止右键点击 代码如下: $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); }); 2. 隐藏搜索文本框文字 代码如下: $(document).ready(function() { $("input.text1").val("Enter your search text here"); textFill($