Skip to content
久久日记本
曾经年少爱追梦,一心只想往前飞
  • 首页
  • 博客
    • 博客历史
    • 主题
    • 个人文集
  • 关于
    • 正在读的书
    • 作品归档
    • 2018作品归档
    • 联系我
  • 友情链接
  • 留言板
❄
❅
❆
❄
❅
❆
❄
❅
❆
❄
Front-End

document.getElementById为空或不是对象的解决方法

Posted on 2013年4月28日 by 九九 / 2356 Views

一些简单的JS问题给我难住了,浪费了不少时间。

以前也经常碰到像今天这样提示document.getElementById().value为空或不是对象的问题,不过当时只要好好检查一下就会发现是id没有或是写错了,只要改过来也就好了。

还有一种就是在

<script language='text/javascript' defer=true>

加上这个defer属性有时候也可以OK。可是今天这个情况着实的让我郁闷了一会,不管怎么改就是提示为空或缺少对象。

查询了一下网络资源,还好,找到了原因.

居然是把js代码写在了页面的最前面。原来document.getElementByID()还和位置有关系,也就是说出现document.getElementById()的时候要切记把代码段放到html的元素之后,然后在试试,应该就没什么问题了。以前也经常碰到一些简单的js代码,不过还真没注意过这个问题的存在。

(1)检查id是否没有或者写错了,这时只要改过来就行了;

(2)可能与id所在的位置有关,示例代码:

<head>
    <title></title>
    <script type="text/javascript">
            var people = [
        { "firstname": "Bill", "lastname": "Gates" },
        { "firstname": "Tomas", "lastname": "Adison" },
        { "firstname": "Happy", "lastname": "Year" }
        ];
            people[1].firstname = "Job";
            document.getElementById('showtext').innerHTML = people[1].firstname;
        }
    </script>
</head>
<body
    <div id="showtext"></div>
</body>

这里会报出”document.getElementById为空或不是对象”的错误.

可以分析得出,页面在加载时候先加载JS代码,所以当执行到 第10行 时候会发现找不到 id为showtext 的标签,自然就错了.

这时候,只需要把 该id标签 放到JS执行的之前就不会出错,或者把 JS封装成方法 调用,也不会出错!切记.修改后的代码:

<head>
    <title></title>
    <script type="text/javascript">
        function test() {
            var people = [
        { "firstname": "Bill", "lastname": "Gates" },
        { "firstname": "Tomas", "lastname": "Adison" },
        { "firstname": "Happy", "lastname": "Year" }
        ];
            people[1].firstname = "Job";
            document.getElementById('showtext').innerHTML = people[1].firstname;
        }
    </script>
</head>
<body onload="test()">
    <div id="showtext"></div>
</body>
JS
九九
过去的我们,现在的自己,往事,终会随风而逝。 View all posts by 九九 →

Post navigation

Older post
oracle外连接中左.右.全连接的区别
Newer post
委托中匿名方法

标签云

2019ncov Android ASP.NET C# C/C++ CSS Div DX11 flask front-end GAE Git Java JJProject JS Life MSSQL MVC OpenSource Oracle Python React React-Native Software Tools Vue Webpack Website Window WP7 乱记 十年旧梦 天气 宝宝成长日记 小说 工作 情感 故障 散文 日记 游戏开发 网新实训笔记 花落梧桐 诗间集 转载

时光机

  • 2022年12月
  • 2022年4月
  • 2022年3月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年5月
  • 2019年12月
  • 2019年10月
  • 2019年9月
  • 2019年6月
  • 2019年5月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年7月
  • 2017年3月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年7月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年8月
  • 2015年7月
  • 2015年4月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2014年5月
  • 2014年4月
  • 2014年3月
  • 2014年2月
  • 2014年1月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月
  • 2013年7月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年1月
  • 2012年11月
  • 2012年10月
  • 2012年9月
  • 2012年8月
  • 2012年7月
  • 2012年6月
  • 2012年5月
  • 2012年4月
  • 2012年3月
  • 2012年2月
  • 2012年1月
  • 2011年12月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2011年8月
  • 2011年6月
  • 2011年5月
  • 2011年4月
  • 2011年3月
  • 2011年2月
  • 2010年12月
  • 2010年11月
  • 2010年10月
  • 2010年9月
  • 2010年8月
  • 2010年6月
  • 2010年5月
  • 2010年2月
  • 2010年1月
  • 2009年12月
  • 2009年11月
  • 2009年10月
  • 2009年9月
  • 2009年8月
  • 2009年7月
  • 2009年6月
  • 2009年5月
  • 2009年4月
  • 2009年3月
  • 2009年2月
  • 2009年1月
  • 2008年8月
  • 2008年6月
  • 2008年5月
  • 2008年4月
  • 2008年2月
  • 2007年11月
  • 2007年8月
  • 2007年6月
  • 2007年5月
  • 2007年4月
  • 2007年3月
  • 2007年2月
  • 2007年1月
  • 2006年10月
  • 2006年8月
© 2006 - 2023 久久日记本
Powered by WordPress | Theme: Graphy for 99diary