`

js学习之HTML DOM事件和导航

 
阅读更多
这两个内容差不多是w3school对HTML DOM的最后的介绍了,学完以后再去学下js和jquery之类的
HTML DOM 允许 JavaScript 对 HTML 事件作出反应。。

对事件作出反应

当事件发生时,可以执行 JavaScript,比如当用户点击一个 HTML 元素时。

如需在用户点击某个元素时执行代码,请把 JavaScript 代码添加到 HTML 事件属性中:

onclick=JavaScript

HTML 事件的例子:

    当用户点击鼠标时
    当网页已加载时
    当图片已加载时
    当鼠标移动到元素上时
    当输入字段被改变时
    当 HTML 表单被提交时
    当用户触发按键时


在本例中,当用户点击时,会改变 <h1> 元素的内容:
<html>
<body>
<h1 onclick="this.innerHTML='hello!'">请点击这段文本!</h1>
</body>
</html>


[size=medium]在本例中,会从事件处理程序中调用函数:[/size
]
<!DOCTYPE html>
<html>
<head>
<script>
function changetext(id)
{
id.innerHTML="hello!";
}
</script>
</head>
<body>
<h1 onclick="changetext(this)">请点击这段文本!</h1>
</body>
</html>


HTML 事件属性
向 button 元素分配一个 onclick 事件:
<button onclick="displayDate()">试一试</button>


使用 HTML DOM 来分配事件

HTML DOM 允许您使用 JavaScript 向 HTML 元素分配事件:


为 button 元素分配 onclick 事件:

<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
</script>


onload 和 onunload 事件

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

onload 事件可用于检查访客的浏览器类型和版本,以便基于这些信息来加载不同版本的网页。

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

<body onload="checkCookies()">


onchange 事件

onchange 事件常用于输入字段的验证。

下面的例子展示了如何使用 onchange。当用户改变输入字段的内容时,将调用 upperCase() 函数。


<input type="text" id="fname" onchange="upperCase()">


onmouseover 和 onmouseout 事件

onmouseover 和 onmouseout 事件可用于在鼠标指针移动到或离开元素时触发函数。


<!DOCTYPE html>
<html>
<body>

<div 
onmouseover="mOver(this)" 
onmouseout="mOut(this)" 
style="background-color:#D94A38;width:200px;height:50px;padding-top:25px;text-align:center;">
Mouse Over Me
</div>

<script>
function mOver(obj)
{
obj.innerHTML="谢谢你"
}

function mOut(obj)
{
obj.innerHTML="把鼠标指针移动到上面"
}
</script>


onmousedown、onmouseup 以及 onclick 事件

onmousedown、onmouseup 以及 onclick 事件是鼠标点击的全部过程。首先当某个鼠标按钮被点击时,触发 onmousedown 事件,然后,当鼠标按钮被松开时,会触发 onmouseup 事件,最后,当鼠标点击完成时,触发 onclick 事件。


<!DOCTYPE html>
<html>
<body>

<div 
onmousedown="mDown(this)" 
onmouseup="mUp(this)" 
style="background-color:#D94A38;width:200px;height:50px;padding-top:25px;text-align:center;">
点击这里
</div>

<script>
function mDown(obj)
{
obj.style.backgroundColor="#1ec5e5";
obj.innerHTML="松开鼠标"
}

function mUp(obj)
{
obj.style.backgroundColor="#D94A38";
obj.innerHTML="谢谢你"
}
</script>

</body>
</html>


HTML DOM - 导航

HTML DOM 节点列表

getElementsByTagName() 方法返回节点列表。节点列表是一个节点数组。


<!DOCTYPE html>
<html>
<body>

<p>Hello World!</p>
<p>DOM 很有用!</p>

<script>
x=document.getElementsByTagName("p");
document.write("第二段的 innerHTML 是: " + x[1].innerHTML);
</script>

</body>
</html>


HTML DOM 节点列表长度

length 属性定义节点列表中节点的数量。

您可以使用 length 属性来循环节点列表:

<!DOCTYPE html>
<html>
<body>

<p>Hello World!</p>
<p>DOM 很有用!</p>
<p>本例演示 <b>length</b> 属性。</p>

<script>
x=document.getElementsByTagName("p");
for (i=0;i<x.length;i++)
  { 
  document.write(x[i].innerHTML);
  document.write("<br>");
  }
</script>
</body>
</html>


[size=medium][color=olive]
导航节点关系
[/color][/size]

您能够使用三个节点属性:parentNode、firstChild 以及 lastChild ,在文档结构中进行导航。

<html>
<body>

<p>Hello World!</p>
<div>
  <p>DOM 很有用!</p>
  <p>本例演示节点关系。</p>
</div>

</body>
</html>



    首个 <p> 元素是 <body> 元素的首个子元素(firstChild)
    <div> 元素是 <body> 元素的最后一个子元素(lastChild)
    <body> 元素是首个 <p> 元素和 <div> 元素的父节点(parentNode)

firstChild 属性可用于访问元素的文本:

<html>
<body>

<p id="intro">Hello World!</p>

<script>
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>

</body>
</html>


DOM 根节点

这里有两个特殊的属性,可以访问全部文档:

    document.documentElement - 全部文档
    document.body - 文档的主体


<html>
<body>

<p>Hello World!</p>
<div>
<p>DOM 很有用!</p>
<p>本例演示 <b>document.body</b> 属性。</p>
</div>

<script>
alert(document.body.innerHTML);
</script>

</body>
</html>


childNodes 和 nodeValue

除了 innerHTML 属性,您也可以使用 childNodes 和 nodeValue 属性来获取元素的内容。

下面的代码获取 id="intro" 的 <p> 元素的值:


<html>
<body>

<p id="intro">Hello World!</p>

<script>
var txt=document.getElementById("intro").childNodes[0].nodeValue;
document.write(txt);
</script>

</body>
</html>


在上面的例子中,getElementById 是一个方法,而 childNodes 和 nodeValue 是属性。

在本教程中,我们将使用 innerHTML 属性。不过,学习上面的方法有助于对 DOM 树结构和导航的理解。

分享到:
评论

相关推荐

    DOM事件之简约下拉菜单

    本主题“DOM事件之简约下拉菜单”将深入探讨如何利用JavaScript和DOM(文档对象模型)事件来创建一个简单但功能齐全的下拉菜单。以下是对这个主题的详细讲解: 首先,DOM是HTML或XML文档的一种结构化表示,它允许...

    JS基本功DOM学习笔记

    7. **BOM(Browser Object Model)**:除了DOM,JS还提供了对浏览器窗口和导航的访问,如`window`对象、`location`对象(用于页面URL和导航)和`navigator`对象(浏览器信息)。 8. **内置对象**:JS提供了一些内置...

    DOM和BOM的使用

    BOM 提供了一些浏览器相关的功能,例如窗口、导航、历史记录等,而 DOM 则是文档对象模型,它允许开发者通过 JavaScript 操作文档的内容和结构。 DOM 概述 DOM 是一个文档对象模型,它将 HTML 文档抽象为一个树形...

    javascript DOM 编程艺术源码

    JavaScript DOM编程艺术是一本深入探讨如何使用JavaScript操作和操纵网页文档对象模型(Document Object Model)的经典书籍。DOM是HTML和XML文档的一种结构化表示,它允许我们通过编程方式访问和修改网页内容。这...

    DOM Scripting.Web.Design.with.JavaScript.and.the.Document.Object.Model(JavaScript DOM编程艺术)

    《DOM Scripting: Web Design with JavaScript and the Document Object Model》是由Jeremy Keith撰写的一本关于JavaScript和DOM编程的经典著作。这本书深入浅出地介绍了如何利用JavaScript动态操控网页内容,提升...

    js导航菜单插件制作js顶部导航菜单和侧面js导航菜单

    本文将深入探讨如何使用JavaScript(js)制作导航菜单,包括顶部导航菜单和侧面导航菜单。这两种菜单在现代网页设计中非常常见,它们为用户提供了一种直观、易用的交互方式。 1. **JavaScript基础** 在开始制作...

    酒店管理系统(html、js、css、dom)

    【酒店管理系统(html、js、css、dom)】 在IT行业中,酒店管理系统的开发是一项常见的实践项目,尤其对于初学者来说,它可以帮助他们巩固和应用HTML、JavaScript、CSS以及DOM等基础前端技术。这个系统主要目标是...

    JavaScript and HTML DOM Reference @w3school

    学习JavaScript和HTML DOM对于前端开发者至关重要,它们允许创建交互式的网页,处理用户输入,响应事件,以及通过Ajax等方式与服务器通信。通过深入理解这些概念和实践,开发者可以构建出更加丰富、动态的用户体验。...

    DOMscripting DOMscripting.rar DOMscripting.rar

    《DOMscripting》是关于使用JavaScript操作文档对象模型(Document Object Model,简称DOM)的一份重要资源。...通过学习和实践这些资源,你将能够运用JavaScript与DOM的强大组合,创造出更富互动性和功能性的网页。

    简单导航栏html+js+css

    jQuery是一个流行的JavaScript库,简化了DOM操作、事件处理和动画。在导航栏的设计中,jQuery可以进一步增强用户体验,例如通过`.hover()`方法处理悬停事件,`.slideToggle()`实现菜单的滑动展开和关闭。 总的来说...

    Javascript之BOM与DOM讲解

    JavaScript是Web开发中不可或缺的一部分,主要由三个组成部分构成:ECMAScript、DOM(文档对象模型)和BOM(浏览器对象模型)。这三个部分协同工作,使开发者能够创建动态、交互式的网页。 1. ECMAScript: ...

    Beginning JavaScript with DOM Scripting and Ajax

    《初识JavaScript与DOM脚本和Ajax》这本书深入浅出地介绍了JavaScript编程、DOM操作以及Ajax技术的基础知识,是Web开发者的入门指南。JavaScript作为Web前端的核心语言,DOM(Document Object Model)则提供了对HTML...

    【JavaScript源代码】JavaScript中BOM和DOM详解.docx

    JavaScript中的BOM(Browser Object Model,浏览器对象模型)和DOM(Document Object Model,文档对象模型)是两个核心概念,它们都是JavaScript与网页交互的关键部分。 **BOM(浏览器对象模型)** 1. **Window...

    unigrid添加html5 dom元素.rar

    6. **事件处理**:在Delphi中,可以绑定JavaScript事件到TWebBrowser控件,比如`OnBeforeNavigate2`事件用于在导航前执行操作,`OnDocumentComplete`事件则在页面加载完成后触发。 7. **数据绑定**:可能涉及到将...

    京东页面JS效果实现,js实现导航条控制,很完整

    综上所述,"京东页面JS效果实现,js实现导航条控制"涵盖了JavaScript在前端开发中的实际应用,包括DOM操作、事件处理、CSS样式控制以及动画效果的创建。通过学习和实践这些技术,开发者能够创建出功能丰富、用户体验...

    北大青鸟+htmljavascript+学习资料全集(源代码)

    "北大青鸟+htmljavascript+学习资料全集(源代码)"的资源可能包含了HTML和JavaScript的基本概念、实践案例、DOM操作、事件处理、AJAX、jQuery库的使用,以及可能涉及的JavaScript进阶知识。通过深入学习和实践这些...

    js中的BOM和DOM对象

    JavaScript是一种广泛应用于网页和网络应用的编程语言,它在网页中的主要职责是处理用户交互、操作页面元素以及与服务器进行通信。...通过不断实践和学习,开发者可以利用JavaScript实现丰富的交互效果,提升用户体验。

    JavaScript DOM 编程艺术

    学习《JavaScript DOM 编程艺术》不仅可以帮助开发者掌握JavaScript与DOM的基本操作,还能提升网页的交互性和用户体验。无论你是初学者还是有经验的开发者,这本书都将提供宝贵的指导,助你在Web开发领域更进一步。...

    xml导出javascript&css多级导航栏

    标题 "xml导出javascript&css多级导航栏" 涉及到的技术点主要集中在XML、JavaScript和CSS三个核心领域,这些技术在Web开发中扮演着至关重要的角色。以下是关于这些知识点的详细说明: 1. **XML(Extensible Markup ...

    Javascript操作BOM和DOM

    BOM是浏览器提供的一系列接口,它允许JavaScript访问和操作浏览器的特性,如窗口、导航、历史记录、cookies等。BOM的核心对象是`window`,它是所有其他BOM对象的父级。以下是一些关键的BOM知识点: 1. **window对象...

Global site tag (gtag.js) - Google Analytics