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 相关文章推荐
File文件控件,选中文件(图片,flash,视频)即立即预览显示
Apr 09 Javascript
javascript检测浏览器flash版本的实现代码
Dec 06 Javascript
基于jquery的9行js轻松实现tab控件示例
Oct 12 Javascript
javascript实现的右下角弹窗实例
Apr 24 Javascript
浅谈几种常用的JS类定义方法
Jun 08 Javascript
第一次接触神奇的Bootstrap网格系统
Jul 27 Javascript
javascript显示系统当前时间代码
Dec 29 Javascript
AngularJS2中一种button切换效果的实现方法(二)
Mar 27 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
Vue实现简单的跑马灯
May 25 Javascript
react使用antd表单赋值,用于修改弹框的操作
Oct 29 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代码的53条建议
2008/03/27 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
解决php写入数据库乱码的问题
2019/09/17 PHP
PHP实现本地图片转base64格式并上传
2020/05/29 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
面向对象的javascript(笔记)
2009/10/06 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
python实现百度关键词排名查询
2014/03/30 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
技校毕业生自荐信范文
2014/03/07 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
产品生产计划书
2014/05/07 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
土建工程师岗位职责
2014/06/10 职场文书
作风转变心得体会
2014/09/02 职场文书
护士自我推荐信范文
2015/03/24 职场文书
Golang: 内建容器的用法
2021/05/05 Golang