`
米奈希尔
  • 浏览: 267044 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Dom获取body元素出现null的问题

阅读更多

在学习dom操作中,当试图获取body元素时,发现获取的对象为空,下面是我的代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript">
	var body = document.getElementsByTagName("body").item(0);
	alert(body);
</script>
</head>
<body id="body">
<p>Hello world!</p>
</body>
</html>

运行,弹出null提示框。 

 

代码很简单,原因其实也很简单,因为在执行script中的静态(全局)js脚本时,dom对象中的body元素还没有构建,所以为null。

如果把这段代码放在js函数中(区别于js静态(全局)代码),比如onload中,如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript">
	window.onload = function() {
		var body = document.getElementsByTagName("body").item(0);
		alert(body);
	};
</script>
</head>
<body id="body">
<p>Hello world!</p>
</body>
</html>

 

这样就不会有问题了。

 

刚开始学ajax,问题虽小,倒也折腾了我半天,希望给对初学者有所帮助,高手可以无视:)。

0
0
分享到:
评论

相关推荐

    EXTJS总结.txt

    可以是插入一个元素,也可以是创建一个元素(要创建的话请使用“DomHelper配置项对象”作为参数传入),总之,这个元素作为当前元素的第一个子元素出现。 var el = Ext.get('elId1'); // 插入的dom节点作为第一个...

    XML纯解析源码(JAVA 不含DOM类)

    * 获取结构标签集合 * * @return */ public ArrayList&lt;HtmlFlag&gt; getArrayList() {} /** * 更新标签指定属性的值 * * @param path * @param att * @param value * @return */ public boolean ...

    JavaScript基础和实例代码

    JavaScript电子书,包括了JavaScript的大部分知识,可以帮助读者快速入门。内容如下: 第1章 JavaScript语言概述 1.1 JavaScript是什么 ...8.3.1 获取body元素对象信息 8.3.2 常见属性和方法汇总 8.4 本章小结

    源文件程序天下JAVASCRIPT实例自学手册

    源文件程序天下JAVASCRIPT实例自学手册 第1章 JavaScript语言概述 1.1 JavaScript是什么 1.1.1 JavaScript简史 1.1.2 JavaScript有何特点 ...8.3.1 获取body元素对象信息 8.3.2 常见属性和方法汇总 8.4 本章小结

    JavaScript Table行定位效果

    1,如果是根元素、body元素或元素的position是fixed,将返回null; 2,如果是area元素,会返回最接近的map元素; 3,返回至少符合以下一个条件的最接近该节点的元素:1,元素的position不是static;2,是body元素;3...

    webgl-context:在浏览器中获取WebGL上下文

    webgl-上下文 获取一个 WebGLRenderingContext,如果它不存在则返回 null。 类似于 。 //get a webgl context, will be null if not foundvar gl = require ( 'webgl-context' ) ( )if ( gl ) { document . body . ...

    107个javascript语句

    5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID號").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase...

    JavaScript完全自学宝典 源代码

    5.2.html 使用DOM获取body元素。 5.3.html 获取元素的子节点。 5.4.html 改变div的内容。 5.5.html 获取表格第1行。 5.6.html 获取表格的某列。 5.7.html 修改表格的内容。 5.8.html 无...

    Javascript的常用语句

    5.得到表单中元素的名称和值:document.getElementById( "表单中元素的ID號 ").name(或value) 6.一个小写转大写的JS: document.getElementById( "output ").value = document.getElementById( "input ").value....

    javascript 问题集合

    javascript 问题集合 Posted on 2006-06-20 19:32 坏坏天堂 阅读(46) 评论(0) 编辑 收藏 所属分类: JavaScript 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document-&gt;html-&gt;(head...

    总结常用JavaScript语法107条

    5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase...

    JavaScript

    4.一个浏览器窗口中的DOM顺序是: window-&gt;(navigator,screen,history,location,document) 5.得到表单中元素的名称和值: document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: ...

    常用Javascript语句

    5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID號").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase...

    出现问题a is defined高手帮忙

    cornerTopDiv: null, cornerRightDiv: null, cornerBottomDiv: null, cornerLeftDiv: null, mapPosition: null, outlineDiv: null, mapWidth: 0, mapHeight: 0, mapRatio: 0, startX:...

    js关闭浏览器窗口及检查浏览器关闭事件

    js关闭浏览器窗口 js关闭浏览器窗口,不弹出提示框。支持ie6+,火狐,谷歌等浏览器。 代码如下: &lt;... &lt;head /&gt; &lt;body&gt;... 火狐默认不支持js关闭浏览器窗口,可以在about:config中将dom

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    父元素是指包含有其它元素的元素,被包含的元素称为它的子元素。看上面的"结构树",其中是父元素,,是它的子元素,而又是的子元素。象这样没有包含任何子元素的最后一级元素我们也称之为"页元素"。 4.Parser(解析...

    javascript中的小技巧

    5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("i nput").value....

    javascript常用整理

    5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase...

    常用 js 大全常用 js 大全常用 js 大全常用 js 大全常用 js 大全

    5.得到表单中元素的名称和值:document.getElementById("表单中元素的 ID 6. 一 个 小 写 转 大 写 的 & #106s: document.getElementByI document.getElementById("input").&#118alue.toUpperCase(); 7.JS 中的值...

    maxwell-modal:引导和骨干供电的模态视图

    #麦克斯韦模态## Bootstrap和Backbone供电的模态视图 ##安装npm install maxwell-modal ##用法共有三种类型的模态模态这是基本的模态。...content: null , /** * body html * @type { DOM/Function } */

Global site tag (gtag.js) - Google Analytics