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 相关文章推荐
JavaScript Serializer序列化时间处理示例
Jul 31 Javascript
详解JavaScript UTC时间转换方法
Jan 07 Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 Javascript
AngularJS Toaster使用详解
Feb 24 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
Aug 07 Javascript
vue 自定义提示框(Toast)组件的实现代码
Aug 17 Javascript
JS定义函数的几种常用方法小结
May 23 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
Mar 02 Javascript
Vue插件之滑动验证码用法详解
Apr 05 Javascript
vue+Element-ui实现分页效果
Nov 15 Javascript
关于Vue Router的10条高级技巧总结
May 06 Vue.js
在 HTML 页面中使用 React的场景分析
Jan 18 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 全角转半角实现代码
2010/05/16 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
PHP框架自动加载类文件原理详解
2017/06/06 PHP
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
一个检测表单数据的JavaScript实例
2014/10/31 Javascript
原生JS实现不断变化的标签
2017/05/22 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
js实现全选和全不选
2020/07/28 Javascript
从零学Python之入门(四)运算
2014/05/27 Python
Python描述器descriptor详解
2015/02/03 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
python append、extend与insert的区别
2016/10/13 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
python实现代码统计程序
2019/09/19 Python
pymysql 开启调试模式的实现
2019/09/24 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
高中生学期学习自我评价
2014/02/24 职场文书
预备党员的自我评价
2014/03/12 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
会计工作总结范文2014
2014/12/23 职场文书
导游词怎么写
2015/02/04 职场文书
Mysql忘记密码解决方法
2022/02/12 MySQL
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
2022/12/24 MySQL