书签 分享 收藏 举报 版权申诉 / 31

类型第04章 文档对象模型DOM教学板书.docx

  • 文档编号:5282200
  • 上传时间:2022-12-14
  • 格式:DOCX
  • 页数:31
  • 大小:69.99KB

Copyright2006ExampleCorp,Inc.

在这个例子中,首先获取了ID为main的div元素节点,然后将背景色改成红色;接着获取所有的p元素节点,通过遍历,把所有的字体都改成2em的;最后遍历body的所有节点,通过对话框把每个元素节点的ID值依次显示出来。

document对象还有下面几个常用方法和属性:

open():

打开一个流,以收集来自任何document.write()或document.writeln()方法的输出;

close():

关闭用document.open()方法打开的输出流,并显示选定的数据;

write():

向文档写HTML代码或JavaScript代码;

writeln():

等同于write()方法,不同的是在每个表达式之后写一个换行符;

title:

该属性可以引用或设置页面中title标记内的内容。

其用法如下:

document.title="newtitle";//修改文档标题

document.open();//开启文档

document.write("somewords");//写入数据

document.writeln("somewords");//写入数据

document.close();//关闭文档

【例4-3】document方法的使用。

4-3

functionGreeting(){

varnewWin=window.open();

//获得id为“name”的DOM元素

varname=document.getElementById("name");

with(newWin.document){

//通常这里的open()可以省略,在执行write前浏览器自动执行

//document.open()的动作

open();

write("hello,"+name.value+"
Nicetoseeyou!


somenotesforyou:

"+

"
"+

"
Goodbye!

");

close();

}

}

输入你的姓名:

Greeting

上述页面中的按钮点击后将打开一个新的页面,并用document.write()方法向新的页面中写入HTML代码。

4.1.4获取DOM中的元素

DOM中定义了多种获取元素节点的方法,如getElementById()、getElementsByName()和getElementsByTagName()。

如果需要获取文档中的一个特定的元素节点,最有效的方法是getElementById()。

1.document.getElementById()

该方法通过元素节点的ID,可以准确获得需要的元素节点,是比较简单快捷的方法。

如果页面上含有多个相同id的元素节点,那么只返回第一个元素节点。

如今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:

$(id),参数仍然是元素节点的id。

这个方法可以看作是document.getElementById()的另外一种写法。

在后面的章节中将详细介绍这些JavaScript库。

需要操作HTML文档中的某个特定的元素时,最好给该元素添加一个id属性,为它指定一个(在文档中)唯一的名称,然后就可以用该id属性的值查找想要的元素节点。

【例4-4】getElementById()方法的使用。

4-4

functiongetValue(){

varx=document.getElementById("myHeader")

alert(x.innerHTML)

}

这是标题

点击标题,会提示出它的值。

在这个例子中,我们取得id属性的值为myHeader的元素,点击该元素可显示出它的值。

2.getElementsByName()

document.getElementsByName(name)该方法与getElementById()方法相似,但是它查询元素的name属性,而不是id属性。

因为一个文档中的name属性可能不唯一(如HTML表单中的单选按钮通常具有相同的name属性),所以getElementsByName()方法返回的是元素节点的数组,而不是一个元素节点。

然后,我们可以通过要获取节点的某个属性来循环判断是否为需要的节点。

【例4-5】getElementByName()方法的使用。

4-5

functiongetElements(){

varx=document.getElementsByName("myInput");

alert(x.length);

}





value="名为'myInput'的元素有多少个?

"/>

在这个例子中,我们获取了name为myInput的input元素节点数组,并将该数组的长度输出,输出的结果为3。

getElementById()和getElementsByTagName()这两种方法,可查找整个HTML文档中的任何HTML元素。

但这两种方法会忽略文档的结构,假如需要查找文档中所有的p元素,getElementsByTagName()会把它们全部找到,不管p元素处于文档中的哪个层次。

同时,getElementById()方法也会返回正确的元素节点,不论它被隐藏在文档结构中的什么位置。

例如:

document.getElementsByTagName("p");会返回文档中所有p元素的一个节点数组,而document.getElementById('maindiv').getElementsByTagName("p");会返回所有p元素的一个节点列表,且这些p元素必须是id为maindiv的元素的后代。

(3)document.getElementsByTagName():

该方法是通过元素的标记名获取节点,同样该方法也是返回一个数组。

在获取元素节点之前,一般都是知道元素的类型的,所以使用该方法比较简单。

但是缺点也是显而易见,那就是返回的数组可能十分庞大,这样就会浪费很多时间。

它不是document对象的专有方法,还可以应用到其它的节点对象。

其语法为:

document.getElementsByTagName("标签名称");

或document.getElementById('ID').getElementsByTagName("标签名称");

获取节点数组时,通常要把此数组保存在一个变量中,就像这样:

varx=document.getElementsByTagName("p");

变量x就是包含着页面中所有p元素节点的数组,可通过它们的索引号来访问这些p元素节点,索引号从0开始,可以使用数组的length属性来循环遍历节点列表。

varx=document.getElementsByTagName("p");

for(vari=0;i

//这里可以操作相应的元素

}

要访问第三个p元素节点,可以这么写:

vary=x[2];

4.2在DOM元素间移动

获取一个元素节点以后,常常需要以该元素节点为基点上下左右地移动获取其它的元素节点,childNodes前面已经介绍过了,下面我们介绍其他的几种方式。

1.通过父节点获取

parentObj.firstChild:

如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。

这个属性是可以递归使用的,也就是支持parentObj.firstChild.firstChild.firstChild...的形式。

parentObj.lastChild:

这个属性是获取已知节点(parentObj)的最后一个子节点。

与firstChild一样,它也可以递归使用。

parentObj.childNodes:

获取已知节点的子节点数组,然后可以通过循环或者索引找到需要的节点。

注意:

在IE上获取的是直接子节点的数组,而在Firefox上获取的是所有子节点即包括子节点的子节点。

parentObj.children:

获取已知节点的直接子节点数组。

注意:

在IE上,和childNodes效果一样,而Firefox不支持。

parentObj.getElementsByTagName():

它返回已知节点的所有子节点中类型为指定值的子节点数组。

不同的浏览器在处理DOM节点上是有差异的。

Sometext.

Somemoretext.

在IE浏览器中搜索上面代码div的子节点应该为2个,但是在其他浏览器中,一共是5个节点(空格和回车换行也被看作节点)。

因此必须把所有的情况都考虑在内,检查节点的情况。

例如下面的代码:

varel=document.getElementById('node');

varfirstElement=el.childNodes[0];

if(firstElement.nodeType!

=1)

firstElement=

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
第04章 文档对象模型DOM教学板书 04 文档 对象 模型 DOM 教学 板书
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:第04章 文档对象模型DOM教学板书.docx
链接地址:https://www.bdocx.com/doc/5282200.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开