TypeError document.getElementById(...) is null错误原因
今天手写了一个简单的页面做测试用,写完js部分总是报 TypeError document.getElementById(...) is null 这个错误,代码看了几遍,语法上没找着什么错误,没办法,就在互联网上搜索了一下,才发现 document.getElementById 这个根据id找节点的语法写法还是有点讲究的,具体如下:
(1)如果写在 id 所在节点的前面,比如 head 块中,则要如下写法:
window.onload=function(){
......js代码
}
以上代码的意思是在html元素加载完后再运行js
(2)写在 id 所在节点的后面,不然就会报 TypeError: document.getElementById(...) is null 这种找不到节点的错误。
jquery代码写多了就容易忽视一些js的细节问题,记录一笔,以备后忘。
相关推荐
-
TypeError document.getElementById(...) is null错误原因
今天手写了一个简单的页面做测试用,写完js部分总是报 TypeError document.getElementById(...) is null 这个错误,代码看了几遍,语法上没找着什么错误,没办法,就在互联网上搜索了一下,才发现 document.getElementById 这个根据id找节点的语法写法还是有点讲究的,具体如下: (1)如果写在 id 所在节点的前面,比如 head 块中,则要如下写法: 复制代码 代码如下: window.onload=function(){ .....
-
document.getElementById为空或不是对象的解决方法
1. 'null'为空或不是对象: <script type="text/javascript"> 里面加个defer=true属性试试看, 即:<script type="text/javascript" defer=true> 2. document.getElementById为null 原因: var titab=document.getElementById("titletab");没有取到对象 解决办法: 1.
-
浅谈vue中document.getElementById()拿到的是原值的问题
问题 两个界面都有id="test"的div,内容不同,路由切换的时候document.getElementById()拿到的是原界面的值. 问题代码 // 页面1 <div id="test">aaa</div> // 页面2 <div id="test">bbb</div> // 路由切换如下: <transition name="card-fade"> <
-
js中document.getElementByid、document.all和document.layers区分介绍
document.all是IE 4.0及以上版本的专有属性,是一个表示当前文档的所有对象的娄组,不仅包括页面上可见的实体对象,还包括一些不可见的对象,比如html注释等等.在document.all数组里面,元素不分层次,是按照其在文档中出现的先后顺序,平行地罗列的.所以可以用数字索引来引用到任何一个元素.但比较常用的是用对象id来引用一个特定的对象,比如document.all["element"]这样. document.layers是Netscape 4.x专有的属性,是一个代表
-
document.getElementById介绍
把你的大脑当做浏览器执行下面的代码两次,分别是IE6和IE9: 复制代码 代码如下: function testFunc(){ alert('test') } $(function(){ var g = document.getElementById , w = window.testFunc ; //g alert(typeof(g)); alert(String(g)); alert(g instanceof Object); alert(g instanceof Function); //
-
各浏览器对document.getElementById等方法的实现差异解析
所有Web前端同仁对 document.getElementById 都非常熟悉了.开发过程中经常需要用其获取页面id为xx的元素,自从元老级JS库Prototype流行后,都喜欢这么简写它 复制代码 代码如下: // 方式1 function $(id){ return document.getElementById(id); } 有没有人想过为什么要这么写,而不用下面的方式写呢? 复制代码 代码如下: // 方式2 var $ = document.getElementById; 这么写的$
-
JS中的form.submit()不能提交表单的错误原因
直接上代码把: 复制代码 代码如下: <div id="register"> <h4>会员注册</h4> <div class="formdiv"> <form method="post" action="register.php?action=register" name="register" id="r
-
form.submit()不能提交表单的错误原因及解决方法
直接上代码把: <div id="register"> <h4>会员注册</h4> <div class="formdiv"> <form method="post" action="register.php?action=register" name="register" id="registerForm"> <dl&g
-
Microsoft VBScript 编译器错误 错误原因 代码大全
Microsoft VBScript 编译器错误 错误 '' 缺少语句 ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件 MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中) MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错
-
document.getElementById的简写方式(获取id对象的简略写法)
比如用_$(id)代替document.getElementById(id). 如果是纯粹的代替可以使用下面的代码 复制代码 代码如下: function $(id){document.getElementById(id)} 个人比较推荐用prototype中对document.getElementById的定义: 复制代码 代码如下: function $() { var elements = new Array(); for (var i = 0; i < arguments.length;
随机推荐
- Lua教程(五):C/C++操作Lua数组和字符串示例
- SQL Server Management Studio Express管理器 没有导入导出数据的向导的解决方法
- java中sdk与jdk的区别详细解析
- python数据结构树和二叉树简介
- ASP.NET 跨页面传值方法
- Yii2表单事件之Ajax提交实现方法
- Thinkphp中Create方法深入探究
- Android如何实现压缩和解压缩文件
- 用C#生成不重复的随机数的代码
- js如何实现淡入淡出效果
- jquery mobile实现可折叠的导航按钮
- 非html5实现js版弹球游戏示例代码
- java文件操作之java写文件简单示例
- Select下拉框模糊查询功能实现代码
- Android编程之在SD卡上进行文件读写操作实例详解
- 将首页转成静态html页的asp文件
- SQL的常用数据类型列表详解
- 详解C#开发Android应用程序的流程
- Nginx 负载均衡算法及故障转移解析
- Android ListView和Adapter数据适配器的简单介绍