week14---12月11日 JS内置对象——document文档对象、Dom对象
2015-12-10 19:48
447 查看
一、复习
1、数学函数(四舍五入函数的三种分析,随机数函数)
2、验证码讨论
二、新课
(一)document文档对象
HTML DOM是W3C规范的文档对象模型(Document Object Model for HTML),将HTML文档树进一步细化为带有标记元素、属性和文本节点的节点树,每个标记元素、标记属性、标记文本都是树中的一个Node节点,每一个节点都是一个对象。
document对象是浏览器窗口window的子对象,代表了整个HTML文档页面的根节点对象,是所有节点对象的父对象,可用于访问整个页面的所有元素。
整个HTML文档是一个文档节点对象,即document对象
每个HTML标记都是元素节点对象
每个HTML标记的属性都是元素的属性节点对象
每个HTML标记中的文本是元素的文本节点对象
每个HTML注释都是注释节点对象
除文档根节点document对象外,每个节点都有父节点,大部分元素还包含属性、文本及子标记节点子对象。
通过DOM对象可以访问页面所有HTML标记元素以及它们所包含的属性及文本,可以创建、修改和删除标记元素及内容。
1)document对象的属性
body <body>元素,使用框架集时表示为最外层<frameset>
title 当前文档的标题,即<title>元素内的文本
URL 当前文档的URL,等价于location.href属性
domain 当前文档的服务器域名地址
referrer 超链接载入当前文档的前文档URL,非超链接载入null
lastModified 当前文档最后的修改日期,来源于HTTP头
cookie 当前文档存储在用户机器上的标志字符串文件,用于跟踪用户
2)关于cookie
cookie是由document自动保存在用户机器硬盘上的一个简单文本文件,其中包含了当前文档及其所在的服务器地址,当保存有cookie文件的用户计算机再次向该服务器请求这个页面时,浏览器会自动发送这个cookie。若用户禁止了cookie则设置的cookie无效。
cookie文件由document对象自动读写,其内容必须是键值对的特定格式:
"键名=键值; expires=date;[path=url;domain=服务器域名]"
设置自定义cookie值"键名=键值"时,一个语句一次只能设置一项,可用多个语句多次设置多项,但每次每项的设置中必须最少包含一项expires,系统保存时各项之间用分号带一个空格隔开(书写时可省略空格),键名相同时则用新值替换原值。
系统默认的键名expires可设置过期日期(超过设置日期浏览器会自动删除这个cookie)、path保存当前文档url、domain保存服务器域名,但这些数据都是不可读取的。
实训:使用cookie
3)document对象的方法
getElementById("id") 获取指定id元素对象(如有多个只取第一个)
getElementsByName("name") 获取指定name的元素对象数组
getElementsByTagName("tagname") 获取指定标记对象数组
标记名不区分大小写,获取第i个<p>元素:
document.getElementsByTagName("p")[i-1]
用getElementsByTagName("*"); 可获取所有元素对象数组
createElement("标记名") 创建返回新标记节点对象
createTextNode("文本内容") 创建返回新文本节点对象
标记对象调用appendChild(文本或子标记节点对象) 可追加指定子节点对象。
write("html标记或字符串常量"+变量或函数)将内容写入html文档
writeln("html标记或字符串常量"+变量或函数)最后插入换行符\n
open( ["mimetype" [, "replace"]] ) 清除页面、打开新文档流
mimetype文档类型(默认"text/html")、replace从父文档继承
close() 关闭open()打开的文档流并强制显示已写入数据
(二)DOM节点对象
1、DOM 节点对象
DOM节点对象泛指标记、标记属性、标记内的子标记对象或文本子对象,通过标记对象可获取其属性、子标记或文本内容子对象。
1)DOM节点对象的通用属性
标记、标记属性、标记内子标记对象或文本子对象等DOM节点对象都具有nodeType节点类型、nodeName节点名称和nodeValue节点值三个通用属性。
nodeType 节点类型,取值含义为:
1 标记节点(包括body) 2 属性节点 3 文本节点
8 注释节点 9 文档节点
nodeName节点名称,不同类型对象的属性值含义不同
body节点对象值为:#document
标记节点对象为标记名(大写)等价tagName属性。如<div>标记对象的nodeName或tagName属性值为"DIV"。
属性节点对象为属性名,如style属性对象nodeName值为style
文本节点对象的值为:#text
节点对象的通用属性
nodeValue节点值
标记节点对象(包括body)没有该属性,其值为null
属性节点对象的值为属性值
文本节点对象的值为所包含的文本字符串
注意:文本区文本节点应使用value属性,如果用nodeValue属性很容易出错。可以通过直接赋值为任意节点对象添加任意类型的属性。例如:
var a=getElementById("idValue");
a.propertyName="propertyValue"; //为a对象添加属性
2)标记对象的所属类
在html文档中每出现一个标记就相当于为JavaScript创建了一个相应的对象,这些对象对应的类名一般与标记名一致,但第一个字母必须大写。
如<body>、<p>、<div>标记分别为Body、P、Div类的对象
例外的标记有:
Anchor 锚或超链接<a>对象的类名
Image 嵌入图像<img>对象的类名
TableRow 表格行标记<tr>对象的类名
TableCell 表格单元格标记<td>对象的类名
Input text文本框、Input password密码框、Input hidden隐藏域、Input checkbox选择框、Input radio单选框、Input file文件选择框、Input reset重置按钮、Input submit提交按钮、Input button 按钮对象的类名。
用createElement("标记名")可创建新标记对象,也可直接使用类名创建标记对象。例如:
var div=new Div(); //创建一个空<div></div>标记对象
varimg=new Image(); //创建一个空<img />嵌入图像标记对象
然后可以通过直接赋值或调用setAttribute()方法为标记对象添加设置各种属性或文本内容。
1、数学函数(四舍五入函数的三种分析,随机数函数)
2、验证码讨论
二、新课
(一)document文档对象
HTML DOM是W3C规范的文档对象模型(Document Object Model for HTML),将HTML文档树进一步细化为带有标记元素、属性和文本节点的节点树,每个标记元素、标记属性、标记文本都是树中的一个Node节点,每一个节点都是一个对象。
document对象是浏览器窗口window的子对象,代表了整个HTML文档页面的根节点对象,是所有节点对象的父对象,可用于访问整个页面的所有元素。
整个HTML文档是一个文档节点对象,即document对象
每个HTML标记都是元素节点对象
每个HTML标记的属性都是元素的属性节点对象
每个HTML标记中的文本是元素的文本节点对象
每个HTML注释都是注释节点对象
除文档根节点document对象外,每个节点都有父节点,大部分元素还包含属性、文本及子标记节点子对象。
通过DOM对象可以访问页面所有HTML标记元素以及它们所包含的属性及文本,可以创建、修改和删除标记元素及内容。
1)document对象的属性
body <body>元素,使用框架集时表示为最外层<frameset>
title 当前文档的标题,即<title>元素内的文本
URL 当前文档的URL,等价于location.href属性
domain 当前文档的服务器域名地址
referrer 超链接载入当前文档的前文档URL,非超链接载入null
lastModified 当前文档最后的修改日期,来源于HTTP头
cookie 当前文档存储在用户机器上的标志字符串文件,用于跟踪用户
2)关于cookie
cookie是由document自动保存在用户机器硬盘上的一个简单文本文件,其中包含了当前文档及其所在的服务器地址,当保存有cookie文件的用户计算机再次向该服务器请求这个页面时,浏览器会自动发送这个cookie。若用户禁止了cookie则设置的cookie无效。
cookie文件由document对象自动读写,其内容必须是键值对的特定格式:
"键名=键值; expires=date;[path=url;domain=服务器域名]"
设置自定义cookie值"键名=键值"时,一个语句一次只能设置一项,可用多个语句多次设置多项,但每次每项的设置中必须最少包含一项expires,系统保存时各项之间用分号带一个空格隔开(书写时可省略空格),键名相同时则用新值替换原值。
系统默认的键名expires可设置过期日期(超过设置日期浏览器会自动删除这个cookie)、path保存当前文档url、domain保存服务器域名,但这些数据都是不可读取的。
实训:使用cookie
3)document对象的方法
getElementById("id") 获取指定id元素对象(如有多个只取第一个)
getElementsByName("name") 获取指定name的元素对象数组
getElementsByTagName("tagname") 获取指定标记对象数组
标记名不区分大小写,获取第i个<p>元素:
document.getElementsByTagName("p")[i-1]
用getElementsByTagName("*"); 可获取所有元素对象数组
createElement("标记名") 创建返回新标记节点对象
createTextNode("文本内容") 创建返回新文本节点对象
标记对象调用appendChild(文本或子标记节点对象) 可追加指定子节点对象。
write("html标记或字符串常量"+变量或函数)将内容写入html文档
writeln("html标记或字符串常量"+变量或函数)最后插入换行符\n
open( ["mimetype" [, "replace"]] ) 清除页面、打开新文档流
mimetype文档类型(默认"text/html")、replace从父文档继承
close() 关闭open()打开的文档流并强制显示已写入数据
(二)DOM节点对象
1、DOM 节点对象
DOM节点对象泛指标记、标记属性、标记内的子标记对象或文本子对象,通过标记对象可获取其属性、子标记或文本内容子对象。
1)DOM节点对象的通用属性
标记、标记属性、标记内子标记对象或文本子对象等DOM节点对象都具有nodeType节点类型、nodeName节点名称和nodeValue节点值三个通用属性。
nodeType 节点类型,取值含义为:
1 标记节点(包括body) 2 属性节点 3 文本节点
8 注释节点 9 文档节点
nodeName节点名称,不同类型对象的属性值含义不同
body节点对象值为:#document
标记节点对象为标记名(大写)等价tagName属性。如<div>标记对象的nodeName或tagName属性值为"DIV"。
属性节点对象为属性名,如style属性对象nodeName值为style
文本节点对象的值为:#text
节点对象的通用属性
nodeValue节点值
标记节点对象(包括body)没有该属性,其值为null
属性节点对象的值为属性值
文本节点对象的值为所包含的文本字符串
注意:文本区文本节点应使用value属性,如果用nodeValue属性很容易出错。可以通过直接赋值为任意节点对象添加任意类型的属性。例如:
var a=getElementById("idValue");
a.propertyName="propertyValue"; //为a对象添加属性
2)标记对象的所属类
在html文档中每出现一个标记就相当于为JavaScript创建了一个相应的对象,这些对象对应的类名一般与标记名一致,但第一个字母必须大写。
如<body>、<p>、<div>标记分别为Body、P、Div类的对象
例外的标记有:
Anchor 锚或超链接<a>对象的类名
Image 嵌入图像<img>对象的类名
TableRow 表格行标记<tr>对象的类名
TableCell 表格单元格标记<td>对象的类名
Input text文本框、Input password密码框、Input hidden隐藏域、Input checkbox选择框、Input radio单选框、Input file文件选择框、Input reset重置按钮、Input submit提交按钮、Input button 按钮对象的类名。
用createElement("标记名")可创建新标记对象,也可直接使用类名创建标记对象。例如:
var div=new Div(); //创建一个空<div></div>标记对象
varimg=new Image(); //创建一个空<img />嵌入图像标记对象
然后可以通过直接赋值或调用setAttribute()方法为标记对象添加设置各种属性或文本内容。
相关文章推荐
- ExtJS4为form表单必填项添加红色*标识
- js中extends方法
- servlet打开一个jsp莫名乱码问题
- 返回页面的数据中带标签,使js报错
- JSP与Servlet之间传值
- JavaScript 特殊之-prototype __proto__ class
- JSDOM对象控制HTML元素
- JavaScript性能---加载及执行
- JS--for循环的性能优化
- js中获取jsp中的参数
- 同一个页面里的JS怎样获取jsp从别的页面获取的参数
- javascript :ECMA5数组的新特性
- JSoup使用(一)
- 【层级结构】Ext.js5视图模型和数据绑定(上)
- 解析JSON数据
- 解决json_encode中文UNICODE转码问题
- JS--获取元素
- js的不稳定?
- JS模块化编程之AMD规范(转)
- FastJSON、Gson和Jackson性能对比