轻松学习JavaScript十八:DOM编程学习之DOM简单介绍

一DOM概述

DOM(文档对象模型)是HTML和XML的应用程序接口(API)。DOM将把整个页面规划成由节点层级构成的文档。

DOM描绘了一个层次化的节点树,执行开发者加入,移除和改动页面的某一部分。

HTML或XML页面的每一个部分都

是一个节点的衍生物。

通过DOM。可訪问HTML文档的全部元素。

当网页被载入时。浏览器会创建页面的文档对象模

型,DOM模型被构造为对象的树。

DOM是W3C(万维网联盟)的标准。DOM定义了訪问HTML和XML文档的标准。“W3C 文档对象模型(DOM)是中立

于平台和语言的接口,它同意程序和脚本动态地訪问和更新文档的内容、结构和样式。

W3C DOM 标准被分为 3 个不同的部分:

1核心 DOM - 针对不论什么结构化文档的标准模型

2XML DOM - 针对 XML 文档的标准模型

3HTML DOM - 针对 HTML 文档的标准模型

二DOM节点树与节点

(1)DOM节点

在DOM中,全部事物都是节点。

DOM是被视为节点树的HTML。

HTML文档中的全部内容都是节点:整个文档是

一个文档节点;每一个HTML元素是元素节点;HTML元素内的文本是文本节点;每一个HTML属性是属性节点。凝视是注

释节点。那么从实际出发看看:

<span style="font-size:18px;"><!--div标签-->
<div id="test">块级元素<div></span>

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

(2)节点父,子和同胞

节点树中的节点彼此拥有层级关系。父(parent),子(child)和同胞(sibling)等术语用于描写叙述这些关系。父节点拥有子

节点。同级的子节点被称为同胞(兄弟或姐妹)。

1在节点树中,顶端节点被称为根(root)

2每一个节点都有父节点、除了根(它没有父节点)

3一个节点可拥有随意数量的子

4同胞是拥有同样父节点的节点

以下的图片展示了节点树的一部分。以及节点之间的关系:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

(3)节点树

看以下的代码组成的DOM树:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
     <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
          <title>标题</title>
     </head>

     <body>
          <h1>一级标题</h1>
          <a href="http:///www.baidu.com">百度一下,你就知道</a>
     </body>
</html>

从上面的HTML中:

<html>节点没有父节点;它是根节点

<head>和<body>的父节点是<html>节点

文本节点 "一级标题" 的父节点是<h1>节点

而且:

<html>节点拥有两个子节点:<head>节点和<body>节点

<head>节点拥有一个子节点:<title>节点和<meta>节点

<title>节点也拥有一个子节点:文本节点 "一级标题"

<h1>和<a>节点是同胞节点,同一时候也是<body>的子节点

而且:

<head>元素是<html>元素的首个子节点

<body>元素是<html>元素的最后一个子节点

<h1>元素是<body>元素的首个子节点

<a>元素是<body>元素的最后一个子节点

载入HTML文档页面时。浏览器会自己主动生成一个树型结构。用来表示页面内部结构。DOM将这样的树结构称之为由

节点组成的节点树。

节点树图示:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

三DOM的作用

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

(1)JavaScript的DOM可以改变页面中的HTML元素

<span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>DOM</title>
</head>

<body>
<div id="div1">
<p id="p1">这是已有的段落</p>
</div>

<script type="text/javascript">
var para=document.createElement("p");// 创建一个的元素节点p标签
var node=document.createTextNode("这是通过DOM加入的新元素的文本");//创建一个文本节点
para.appendChild(node);//向p标签追加文本节点

var element=document.getElementById("div1");//通过id属性查找div元素
element.appendChild(para);//向div元素内追加一个新元素
</script>
</body>
</html></span>

执行的结果为:

(2)JavaScript的DOM可以改变页面中的HTML内容

<span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>DOM</title>
</head>

<body>
<p id="p1">Hello World!</p>
<script type="text/javascript">
document.getElementById("p1").innerHTML="New text!";
</script>
</body>
</html></span>

执行的结果为:

(3)JavaScript的DOM可以改变页面中的CSS样式

<span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>DOM</title>
</head>

<body>
<p id="p1">Hello world!</p>
<p id="p2">Hello world!</p>

<script type="text/javascript">
document.getElementById("p2").style.color="blue";
document.getElementById("p2").style.fontFamily="Arial";
document.getElementById("p2").style.fontSize="larger";
</script>
</body>
</html></span>

执行的结果为:

(4)JavaScript的DOM可以对页面中的事件做出反应

<span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>DOM</title>
</head>

<body>
<p>点击按钮来运行<b>displayDate()</b>函数。</p>
<button onclick="displayDate()">显示时间标准时间按钮</button>
<p id="demo"></p>

<script type="text/javascript">
function displayDate()
{
    document.getElementById("demo").innerHTML=Date();
}
</script>
</body>
</html></span>

执行的结果为:

在阐述为什么学习JavaScript的时候有的已经都涉及到。这里我们会学习更加复杂的东西来操作HTML元素和

CSS样式,这样会使得网页有动感,下拉菜单和图片无缝滚动等动态效果我们就能够实现了。这些都是后面要学习的

东西了。就不再多说,本篇知识概括一下。

假设想看效果的话能够參考:轻松学习JavaScript四:JS点击灯泡来点亮

或熄灭这盏灯的网页特效映射出JS在HTML中作用DIV+CSS实操六:经管系网页加入导航栏下拉菜单

时间: 2024-08-24 21:46:55

轻松学习JavaScript十八:DOM编程学习之DOM简单介绍的相关文章

轻松学习JavaScript十八:JavaScript之DOM简介

一DOM概述 DOM(文档对象模型)是HTML和XML的应用程序接口(API).DOM将把整个页面规划成由节点层级构成的文档. DOM描绘了一个层次化的节点树,运行开发人员添加,移除和修改页面的某一部分.HTML或XML页面的每个部分都 是一个节点的衍生物.通过DOM,可访问HTML文档的所有元素.当网页被加载时,浏览器会创建页面的文档对象模 型,DOM模型被构造为对象的树. DOM是W3C(万维网联盟)的标准.DOM定义了访问HTML和XML文档的标准."W3C 文档对象模型(DOM)是中立

智能车学习(十八)&mdash;&mdash;电机学习

一.C车电机选择 1.摘要:      因为C车模在四轮车的优势是有两个电机,可以进行主动差速,劣势是电机太弱了....所以如何选择电机,就是个钱的问题了,电机多一点,就比较好选,但是C车电机跑多了就会变的很弱很弱.所以请准备好钞票. 2.选择方法: (1) 使用恒流源,配合单片机程序,测试出,对应电压的电流和转速,一般采样10个点即可,正反转都要   (2)使用Matlab进行相关性拟合(以电压和电流为输入),转速为输出,得到  cnt = a * V + b * I   中a和b的参数(正反

DOM编程 学习笔记(一)

PS:虽然自己JS基本语法算是掌握了,但是其实在JS掌握的只是远远还不够,网页上有太多好看的动态效果都是用JS 做出来的,自己也就仅仅会那么一两个动态的效果,学的只是皮毛...等有空的时候一定要好好的研究那些动态效果 的制作,实在是太炫酷了...先开始DOM的基本语法吧...等DOM和JQuery的基本语法和用法搞定后就去深入的研究 研究那些动态效果的制作... DOM编程 学习内容 1.DOM简单介绍 2.DOM解析方式 3.在网页中使用DOM编程 4.DOM window对象以及Loacti

C++语言学习(十八)——异常处理

C++语言学习(十八)--异常处理 一.C语言异常处理 异常是指程序在运行过程中产生可预料的执行分支.如除0操作,数组访问越界.要打开的文件不存在.Bug是指程序中的错误,是不被预期的运行方式.如野指针.堆空间使用结束未释放.C语言中处理异常的方式一般是使用if....else...分支语句. double divide(double a, double b) { const double delta = 0.000000000000001; double ret = 0; if( !((-de

轻松学习JavaScript二十二:DOM编程学习之节点操作

DOM编程不仅仅可以查找三种节点,也可以操作节点,那就是创建,插入,删除,替换和复制节点.先来看节点 操作方法: 还是借用一贯的HTML代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.

Android开发自学笔记(Android Studio)&mdash;4.界面编程与View组件简单介绍

一.引言 Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃.Android SDK提供了大量功能丰富的UI组件,开发者只需要拖拖拽拽就能完成简单的应用,这些只是界面的展示,如果要完成优秀的用户交互,事件响应机制当然也是重点,这是后话. Android SDK中绝大部分UI组件都在androd.widget及其子包.android.view及其子包下,Android应用中的所有UI组件都继承了View类,V

轻松学习JavaScript二十四:DOM编程学习之操作CSS样式(一)

CSS样式作为HTML的辅助,可以增强页面的显示效果.前面学了DOM操作HTML,因此也要学DOM操作CSS 样式的方法.在学习CSS的时候,已经知道了CSS插入到HTML文档有三种情况,分别为:行内式,内嵌式和外联式 (这是我们最常用的).下面就来看怎么操作这三种情况: 一操作行内式 先来写一个HTML文档: <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

轻松学习JavaScript二十:DOM编程学习之获取节点

我们这里所说的获取节点包含元素节点,属性节点和文本节点.通常,通过DOM我们就能够操作HTML元素.为 了做到这件事情,您必须首先找到该元素.W3C提供了比较方便简单的定位节点的方法和属性,以便我们快速的对节 点进行操作. 我们先来写一个简单的HTML文档以供我们进行测试,并且JS代码都是写在window.onload事件中: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w

轻松学习JavaScript二十三:DOM编程学习之操作表格

一使用HTML标签创建表格: 代码: <span style="font-size:18px;"><table border="1px"width="300px"> <caption>人员表</caption> <thead> <tr> <th>姓名</th> <th>性别</th> <th>年龄</th>