HTML DOM简要教程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一部分HTML DOM简介

1 DOM简介

HTML文档对象模型

HTML文档对象模型(Document Object Model)定义了访问和处理 HTML 文档的标准方法。HTML DOM 把 HTML 文档呈现为带有元素、属性和文本的树结构(节点树)。

什么是 DOM?

通过JavaScript,您可以重构整个HTML文档。您可以添加、移除、改变或重排页面上的项目。

要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。

DOM 被分为不同的部分(核心、XML及HTML)和级别(DOM Level 1/2/3)

DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档。

∙Core DOM 定义了一套标准的针对任何结构化文档的对象

∙XML DOM定义了一套标准的针对XML 文档的对象

∙HTML DOM定义了一套标准的针对HTML 文档的对象

2 DOM节点

节点

根据 DOM,HTML 文档中的每个成分都是一个节点。

DOM 是这样规定的:

∙整个文档是一个文档节点

∙每个HTML 标签是一个元素节点

∙包含在HTML 元素中的文本是文本节点

∙每一个HTML 属性是一个属性节点

∙注释属于注释节点

Node层次

节点彼此都有等级关系。

HTML 文档中的所有节点组成了一个文档树(或节点树)。HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。

下面这个图片表示一个文档树(节点树):

3 DOM节点树

文档树(节点数)

FireBug DOM树

说明

1.除文档节点之外的每个节点都有父节点。

2.大部分元素节点都有子节点。 节点也有一个子节点:文本节点 "DOM Tutorial"。</p><p>3.当节点分享同一个父节点时,它们就是同辈(同级节点)。比方说,<h1> 和 <p>是同辈。</p><p>4.节点也可以拥有后代,后代指某个节点的所有子节点,或者这些子节点的子节点。</p><p>5.节点也可以拥有先辈。先辈是某个节点的父节点,或者父节点的父节点,以此类推。</p><p>4 DOM访问节点</p><p>通过 DOM,您可访问 HTML 文档中的每个节点。</p><p>4.1查找并访问节点</p><p>你可通过若干种方法来查找您希望操作的元素:</p><p>∙通过使用getElementById() 和getElementsByTagName() 方法</p><p>∙通过使用一个元素节点的parentNode、firstChild 以及lastChild 属性</p><p>4.2 getElementById / getElementsByTagName</p><p>1.getElementById() 可通过指定的ID 来返回元素:</p><p>2.getElementsByTagName() 方法会使用指定的标签名返回所有的元素(作为一个节点列表),这些元素是您在使用此方法时所处的元素的后代。</p><p>getElementsByTagName() 可被用于任何的HTML 元素:</p><p>4.3节点列表nodeList</p><p>当我们使用节点列表时,通常要把此列表保存在一个变量中,就像这样:</p><p>var x=document.getElementsByTagName("p");</p><p>现在,变量 x 包含着页面中所有 <p> 元素的一个列表,并且我们可以通过它们的索引号来访问这些 <p> 元素。</p><p>注释:索引号从 0 开始</p><p>您可以通过使用 length 属性来循环遍历节点列表:</p><p>您也可以通过索引号来访问某个具体的元素。</p><p>要访问第三个<p> 元素,您可以这么写:</p><p>4.4 parentNode / firstChild / lastChild</p><p>这三个属性 parentNode、firstChild 以及 lastChild 可遵循文档的结构,在文档中进行“短距离的旅行”。</p><p>请看下面这个 HTML 片段:</p><p>在上面的HTML代码中,第一个<td> 是<tr> 元素的首个子元素(firstChild),而最后一个<td> 是<tr>元素的最后一个子元素(lastChild),此外,<tr> 是每个<td>元素的父节点(parentNode)。</p><p>对firstChild 最普遍的用法是访问某个元素的文本:</p><p>parentNode 属性常被用来改变文档的结构。假设您希望从文档中删除带有id 为"maindiv" 的节点:</p><p>说明:您需要找到带有指定id 的节点,然后移至其父节点并执行removeChild() 方法。</p><p>4.5根节点</p><p>有两种特殊的文档属性可用来访问根节点:</p><p>∙document.documentElement</p><p>∙document.body</p><p>第一个属性可返回存在于XML 以及HTML 文档中的文档根节点。</p><p>第二个属性是对HTML 页面的特殊扩展,提供了对<body> 标签的直接访问。</p><p>5 DOM节点信息</p><p>nodeName、nodeValue 以及nodeType 包含有关于节点的信息。</p><p>节点信息</p><p>每个节点都拥有包含着关于节点某些信息的属性。这些属性是:</p><p>∙nodeName(节点名称)</p><p>∙nodeV alue(节点值)</p><p>∙nodeType(节点类型)</p><p>nodeName</p><p>nodeName 属性含有某个节点的名称。</p><p>∙元素节点的nodeName 是标签名称</p> </div> </div> </div> </div> </div> <div id="rightcol" class="viewcol"> <div class="coltitle">相关文档</div> <ul class="lista"> <li><a href="/doc/133929933.html" target="_blank">网络技术与实践实验 Part1</a></li> <li><a href="/doc/108646537.html" target="_blank">数学实验的设计与实践</a></li> <li><a href="/doc/3c13342201.html" target="_blank">创新实验室建设与实践.pptx</a></li> <li><a href="/doc/4a2316064.html" target="_blank">电路基础实验与实践</a></li> <li><a href="/doc/457963834.html" target="_blank">电路实验与实践--复_图文</a></li> <li><a href="/doc/5a17935005.html" target="_blank">虚拟实验的教学与实践</a></li> <li><a href="/doc/7116598369.html" target="_blank">创新认知与实践--实验项目</a></li> <li><a href="/doc/885008091.html" target="_blank">实验影像的赏析与实践</a></li> <li><a href="/doc/923576320.html" target="_blank">材料的制备技术与实践实验报告</a></li> <li><a href="/doc/9217266760.html" target="_blank">实习、实验、实训和实践教学的区别是什么</a></li> </ul> <div class="coltitle">最新文档</div> <ul class="lista"> <li><a href="/doc/071000073.html" target="_blank">饭店包间名字大全</a></li> <li><a href="/doc/0d10001030.html" target="_blank">word无法创建工作文件,请检查临时环境变量</a></li> <li><a href="/doc/0d10001458.html" target="_blank">自行车健身比赛开幕式讲话词</a></li> <li><a href="/doc/0510001469.html" target="_blank">2018乡村医生个人工作总结</a></li> <li><a href="/doc/0e10002558.html" target="_blank">MySQL测试题 SQL</a></li> <li><a href="/doc/0310002568.html" target="_blank">合勤NXC5200</a></li> <li><a href="/doc/0210004833.html" target="_blank">铁路集中箱空箱调度优化建模案例(案例2)</a></li> <li><a href="/doc/021000530.html" target="_blank">微分几何教学大纲-复旦大学数学科学学院</a></li> <li><a href="/doc/031000596.html" target="_blank">人教版九年级数学上册导学案:24.1.1_圆【精品】</a></li> <li><a href="/doc/0c10006773.html" target="_blank">(整容后办护照用)医院整容证明</a></li> <li><a href="/doc/0e10006860.html" target="_blank">危险废物管理台账</a></li> <li><a href="/doc/0310008420.html" target="_blank">2017年终大会会场物料设计方案</a></li> </ul> </div> </div> <script> var sdocid = "26b73d38852458fb770b56dc"; var docId = '26b73d38852458fb770b56dc'; var totalPage = 33; const ext = 'doc'; const pageNum = '33'; </script> <script src="https://assets.360docs.net/pc/js/render.js"></script> <div class="clearfloat"></div> <div id="footer"> <div class="ft_info"> <a href="https://beian.miit.gov.cn">闽ICP备16038512号-3</a> <a href="/tousu.html" target="_blank">侵权投诉</a>  ©2013-2023 360文档中心,www.360docs.net | <a target="_blank" href="/sitemap.html">站点地图</a><br /> 本站资源均为网友上传分享,本站仅负责收集和整理,有任何问题请在对应网页下方投诉通道反馈 </div> <script type="text/javascript">foot()</script> </div> </body> </html>