HTML DOM.docx

上传人:b****5 文档编号:7086766 上传时间:2023-01-17 格式:DOCX 页数:18 大小:24.83KB
下载 相关 举报
HTML DOM.docx_第1页
第1页 / 共18页
HTML DOM.docx_第2页
第2页 / 共18页
HTML DOM.docx_第3页
第3页 / 共18页
HTML DOM.docx_第4页
第4页 / 共18页
HTML DOM.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

HTML DOM.docx

《HTML DOM.docx》由会员分享,可在线阅读,更多相关《HTML DOM.docx(18页珍藏版)》请在冰豆网上搜索。

HTML DOM.docx

HTMLDOM

JavaScriptHTMLDOM

通过HTMLDOM,可访问JavaScriptHTML文档的所有元素。

HTMLDOM(文档对象模型)

当网页被加载时,浏览器会创建页面的文档对象模型(DocumentObjectModel)。

HTMLDOM模型被构造为对象的树。

HTMLDOM树

通过可编程的对象模型,JavaScript获得了足够的能力来创建动态的HTML。

∙JavaScript能够改变页面中的所有HTML元素

∙JavaScript能够改变页面中的所有HTML属性

∙JavaScript能够改变页面中的所有CSS样式

∙JavaScript能够对页面中的所有事件做出反应

查找HTML元素

通常,通过JavaScript,您需要操作HTML元素。

为了做到这件事情,您必须首先找到该元素。

有三种方法来做这件事:

∙通过id找到HTML元素

∙通过标签名找到HTML元素

∙通过类名找到HTML元素

通过id查找HTML元素

在DOM中查找HTML元素的最简单的方法,是通过使用元素的id。

实例

本例查找id="intro"元素:

varx=document.getElementById("intro");

亲自试一试

如果找到该元素,则该方法将以对象(在x中)的形式返回该元素。

如果未找到该元素,则x将包含null。

通过标签名查找HTML元素

本例查找id="main"的元素,然后查找"main"中的所有

元素:

varx=document.getElementById("main");

vary=x.getElementsByTagName("p");

提示:

通过类名查找HTML元素在IE5,6,7,8中无效。

HTMLDOM教程

改变HTML

HTMLDOM允许JavaScript改变HTML元素的内容。

改变HTML输出流

JavaScript能够创建动态的HTML内容:

今天的日期是:

 WedNov19201414:

20:

21GMT+0800(中国标准时间)

在JavaScript中,document.write()可用于直接向HTML输出流写内容。

实例

DOCTYPEhtml>

提示:

不要在文档加载之后使用document.write()。

这会覆盖该文档。

改变HTML内容

修改HTML内容的最简单的方法时使用innerHTML属性。

如需改变HTML元素的内容,请使用这个语法:

document.getElementById(id).innerHTML=newHTML

实例

本例改变了

元素的内容:

//改变HTML内容

HelloWorld!

实例

本例改变了

元素的内容:

DOCTYPEhtml>//改变HTML内容

OldHeader

例子解释:

∙上面的HTML文档含有id="header"的

元素

∙我们使用HTMLDOM来获得id="header"的元素

∙JavaScript更改此元素的内容(innerHTML)

改变HTML属性

如需改变HTML元素的属性,请使用这个语法:

document.getElementById(id).attribute=newvalue//属性名

实例

本例改变了元素的src属性:

DOCTYPEhtml>//改变HTML属性

例子解释:

∙上面的HTML文档含有id="image"的元素

∙我们使用HTMLDOM来获得id="image"的元素

∙JavaScript更改此元素的属性(把"smiley.gif"改为"landscape.jpg")

JavaScriptHTMLDOM-改变CSS

HTMLDOM允许JavaScript改变HTML元素的样式。

改变HTML样式

如需改变HTML元素的样式,请使用这个语法:

document.getElementById(id).style.property=newstyle//属性/特性名

例子1

下面的例子会改变

元素的样式:

HelloWorld!

例子2

本例改变了id="id1"的HTML元素的样式,当用户点击按钮时:

MyHeading1

点击这里

//点击button后颜色变为红色

更多实例Visibility

如何使元素不可见。

您希望元素显示或消失吗?

DOCTYPEhtml>

这是一段文本。

JavaScriptHTMLDOM事件

对事件做出反应

我们可以在事件发生时执行JavaScript,比如当用户在HTML元素上点击时。

在用户点击某个元素时执行代码,请向一个HTML事件属性添加JavaScript代码:

onclick=JavaScript

HTML事件的例子:

∙当用户点击鼠标时

∙当网页已加载时

∙当图像已加载时

∙当鼠标移动到元素上时

∙当输入字段被改变时

∙当提交HTML表单时

∙当用户触发按键时

例子1

在本例中,当用户在

元素上点击时,会改变其内容:

'">请点击该文本

点击后内容由请点击该文本变为谢谢!

例子2

本例从事件处理器调用一个函数:

DOCTYPEhtml>

请点击该文本

HTML事件属性

如需向HTML元素分配事件,您可以使用事件属性。

实例

向button元素分配onclick事件:

点击这里

在上面的例子中,名为displayDate的函数将在按钮被点击时执行。

点击按钮就可以执行displayDate()函数。

点击这里

使用HTMLDOM来分配事件

HTMLDOM允许您通过使用JavaScript来向HTML元素分配事件:

实例

向button元素分配onclick事件:

在上面的例子中,名为displayDate的函数被分配给id=myBtn"的HTML元素。

3

DOCTYPEhtml>

点击按钮就可以执行displayDate()函数。

点击这里

当按钮被点击时,会执行该函数。

onload和onunload事件

onload和onunload事件会在用户进入或离开页面时被触发。

onload事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。

onload和onunload事件可用于处理cookie。

实例

DOCTYPEhtml>

提示框会告诉你,浏览器是否已启用cookie。

onchange事件

onchange事件常结合对输入字段的验证来使用。

下面是一个如何使用onchange的例子。

当用户改变输入字段的内容时,会调用upperCase()函数。

实例

DOCTYPEhtml>

请输入英文字符:

当您离开输入字段时,会触发将输入文本转换为大写的函数。

onmouseover和onmouseout事件

onmouseover和onmouseout事件可用于在用户的鼠标移至HTML元素上方或移出元素时触发函数。

实例

DOCTYPEhtml>

green;color:

#ffffff;width:

90px;height:

20px;padding:

40px;font-size:

12px;">请点击这里

当用户按下鼠标按钮时,更换一幅图像。

DOCTYPEhtml>

按住鼠标不放可以点亮这盏灯!

onload当页面完成加载时,显示一个提示框。

DOCTYPEhtml>

onfocus当输入字段获得焦点时,改变其背景色。

DOCTYPEhtml>

请输入英文字符:

当输入字段获得焦点时,会触发改变背景颜色的函数。

鼠标事件

当指针移动到元素上方时,改变其颜色;当指针移出文本后,会再次改变其颜色。

DOCTYPEhtml>

请把鼠标移到这段文本上

JavaScriptHTMLDOM元素(节点)

添加和删除节点(HTML元素)。

创建新的HTML元素

如需向HTMLDOM添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素。

实例

这是一个段落

这是另一个段落

例子解释:

这段代码创建新的

元素:

varpara=document.createElement("p");

如需向

元素添加文本,您必须首先创建文本节点。

这段代码创建了一个文本节点:

varnode=document.createTextNode("这是新段落。

");

然后您必须向

元素追加这个文本节点:

para.appendChild(node);

最后您必须向一个已有的元素追加这个新元素。

这段代码找到一个已有的元素:

varelement=document.getElementById("div1");

这段代码向这个已有的元素追加新元素:

element.appendChild(para);

删除已有的HTML元素

如需删除HTML元素,您必须首先获得该元素的父元素:

实例

这是一个段落。

这是另一个段落。

例子解释:

这个HTML文档含有拥有两个子节点(两个

元素)的

元素:

这是一个段落。

这是另一个段落。

找到id="div1"的元素:

varparent=document.getElementById("div1");

找到id="p1"的

元素:

varchild=document.getElementById("p1");

从父元素中删除子元素:

parent.removeChild(child);

提示:

如果能够在不引用父元素的情况下删除某个元素,就太好了。

不过很遗憾。

DOM需要清楚您需要删除的元素,以及它的父元素。

这是常用的解决方案:

找到您希望删除的子元素,然后使用其parentNode属性来找到父元素:

varchild=document.getElementById("p1");

child.parentNode.removeChild(child);

HTMLDOMEvent对象

Event对象

Event对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。

事件通常与函数结合使用,函数不会在事件发生前被执行!

事件句柄 (EventHandlers)

HTML4.0的新特性之一是能够使HTML事件触发浏览器中的行为,比如当用户点击某个HTML元素时启动一段JavaScript。

下面是一个属性列表,可将之插入HTML标签以定义事件的行为。

属性

此事件发生在何时...

onabort

图像的加载被中断。

onblur

元素失去焦点。

onchange

域的内容被改变。

onclick

当用户点击某个对象时调用的事件句柄。

ondblclick

当用户双击某个对象时调用的事件句柄。

onerror

在加载文档或图像时发生错误。

onfocus

元素获得焦点。

onkeydown

某个键盘按键被按下。

onkeypress

某个键盘按键被按下并松开。

onkeyup

某个键盘按键被松开。

onload

一张页面或一幅图像完成加载。

onmousedown

鼠标按钮被按下。

onmousemove

鼠标被移动。

onmouseout

鼠标从某元素移开。

onmouseover

鼠标移到某元素之上。

onmouseup

鼠标按键被松开。

onreset

重置按钮被点击。

onresize

窗口或框架被重新调整大小。

onselect

文本被选中。

onsubmit

确认按钮被点击。

onunload

用户退出页面。

鼠标/键盘属性

属性

描述

altKey

返回当事件被触发时,"ALT"是否被按下。

button

返回当事件被触发时,哪个鼠标按钮被点击。

clientX

返回当事件被触发时,鼠标指针的水平坐标。

clientY

返回当事件被触发时,鼠标指针的垂直坐标。

ctrlKey

返回当事件被触发时,"CTRL"键是否被按下。

metaKey

返回当事件被触发时,"meta"键是否被按下。

relatedTarget

返回与事件的目标节点相关的节点。

screenX

返回当某个事件被触发时,鼠标指针的水平坐标。

screenY

返回当某个事件被触发时,鼠标指针的垂直坐标。

shiftKey

返回当事件被触发时,"SHIFT"键是否被按下。

IE属性

除了上面的鼠标/事件属性,IE浏览器还支持下面的属性:

属性

描述

cancelBubble

如果事件句柄想阻止事件传播到包容对象,必须把该属性设为true。

fromElement

对于mouseover和mouseout事件,fromElement引用移出鼠标的元素。

keyCode

对于keypress事件,该属性声明了被敲击的键生成的Unicode字符码。

对于keydown和keyup事件,它指定了被敲击的键的虚拟键盘码。

虚拟键盘码可能和使用的键盘的布局相关。

offsetX,offsetY

发生事件的地点在事件源元素的坐标系统中的x

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

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