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 相关文章推荐
Dom在ajax技术中的作用说明
Oct 25 Javascript
jquery中实现简单的tabs插件功能的代码
Mar 02 Javascript
Jquery 的扩展方法总结
Oct 01 Javascript
jquery和css3实现的炫酷时尚的菜单导航
Sep 01 Javascript
JavaScript利用HTML DOM进行文档操作的方法
Mar 28 Javascript
JavaScript蒙板(model)功能的简单实现代码
Aug 04 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
Sep 18 Javascript
Angular4如何自定义首屏的加载动画详解
Jul 26 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
Oct 11 Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 Javascript
JS实现数组深拷贝的方法分析
Mar 06 Javascript
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
每个程序员都需要学习 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时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
用js生产批量批处理执行命令
2008/07/28 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
进一步了解Python中的XML 工具
2015/04/13 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
python对csv文件追加写入列的方法
2019/08/01 Python
python中的global关键字的使用方法
2019/08/20 Python
pytorch简介
2020/11/11 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
简述数据库的设计过程
2015/06/22 面试题
房产代理公证处委托书
2014/04/04 职场文书
计算机专业自荐信
2014/05/24 职场文书
公司授权委托书样本
2014/09/15 职场文书
给老婆道歉的话
2015/01/20 职场文书