DOM操作原生js 的bug,使用jQuery 可以消除的解决方法


Posted in Javascript onSeptember 04, 2016

js的 bug 类型:  Uncaught TypeError:Cannot set/read property 'xxx' of null

在进行DOM操作的时候比较容易发生这个错误,比如:

1.  document.getElementById('test1').style.display='none'

2.  document.getElementById('test1').onclick=function(){/*相关代码*/}

假如DOM中无此 test1对象,将会抛出上面的错误,发生这种错误后,代码后面的模块将会失去效果,这是比较头疼的地方。

要解决这个bug可以用 try/catch 来消除,但是,try/catch 会带来额外开销。如果直接删除,也是可以的,但如果这个js是个公共的,可能对其他页面造成影响。今天无意中将上述代码改成jQuery风格后,bug解决。那么jQuery是如何解决的呢?是try/catch吗?这就需要看看源码了。

以上这篇DOM操作原生js 的bug,使用jQuery 可以消除的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
2010年最佳jQuery插件整理
Dec 06 Javascript
说说JSON和JSONP 也许你会豁然开朗
Sep 02 Javascript
js的正则test,match,exec详细解析
Jan 29 Javascript
JavaScript中具名函数的多种调用方式总结
Nov 08 Javascript
javascript arguments使用示例
Dec 16 Javascript
javascript将异步校验表单改写为同步表单
Jan 27 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
Sep 28 Javascript
Bootstrap中datetimepicker使用小结
Dec 28 Javascript
ES6 class的应用实例分析
Jun 27 Javascript
js实现点击生成随机div
Jan 16 Javascript
JS变量提升及函数提升实例解析
Sep 03 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
Sep 03 #Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 #Javascript
浅析$(function) ready和onload 的区别
Sep 03 #Javascript
详解Javascript中prototype属性(推荐)
Sep 03 #Javascript
jQuery基本选择器之标签名选择器
Sep 03 #Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
Sep 03 #Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
Sep 02 #Javascript
You might like
PHP操作数组的一些函数整理介绍
2011/07/17 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
PHP与以太坊交互详解
2018/08/24 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
Python定时任务sched模块用法示例
2018/07/16 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
python实现批量命名照片
2020/06/18 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
师范毕业生求职信
2014/07/11 职场文书
创优争先心得体会
2014/09/11 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
校车安全管理责任书
2015/05/11 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
浅谈MySQL中的六种日志
2022/03/23 MySQL