`

js学习之HTML DOM的一些基础概念

 
阅读更多
经过近一个星期,总算把w3chool上的HTML DOM的实例差不多看了一遍,因为本身对其中的很多都用过,所以看起来也很快,现在就再系统的回顾下HTML DOM的一些概念和基础的东西,大部分都是从w3school上看到的

什么是DOM


DOM是w3c(万维网联盟)的标准
DOM定义了访问HTML和XML的标准

"W3C文档对象模型(DOM)是中立于语言和平台的接口,它允许程序和脚本动态的访问和更新文档的结构,内容和样式"

W3C DOM 标准被分为 3 个不同的部分:
    ● 核心DOM  - 针对任何结构化文档的标准模型
    ● XML DOM  - 针对XML文档的标准模型
    ● HTML DOM - 针对HTML文档的标准模型

ps:DOM是 Document Object Model (文本对象模型)的缩写


什么是XML DOM

XML DOM定义了所有xml元素的对象和属性以及访问他们的方法

如果你想学习XML DOM 可以访问 http://www.w3school.com.cn/xmldom/index.asp


什么是HTML DOM


HTML DOM:
    ● HTML的标准对象模型
    ● HTML的标准编程接口
    ● W3C标准
HTML DOM 定义了所有HTML元素的对象和属性以及访问他们的方法,换句话说,HTML DOM是关于如果获取,删除,修改HTML元素的标准


                   下面就是针对HTML DOM的一些方法属性的介绍

HTML DOM节点


在HTML DOM中,所有事物都是节点,DOM被视为节点树的HTML



DOM节点

据W3C的HTML DOM标准,HTML文档中的所有内容都是节点

   ● 整个文档是一个文档节点
   ● 每个 HTML 元素是元素节点
   ● HTML 元素内的文本是文本节点
   ● 每个 HTML 属性是属性节点
   ● 注释是注释节点


HTML DOM节点树



根据HTML DOM标准,树中的所有节点都可以通过javascript进行访问,所有HTML 元素(节点)均能被修改 也可以 删除 和 新增新的节点


节点父子和同胞


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




父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。

   ● 在节点树中,顶端节点被称为根(root)
   ● 每个节点都有父节点、除了根(它没有父节点)
   ● 一个节点可拥有任意数量的子
   ● 同胞是拥有相同父节点的节点


请看下面的 HTML 片段:

<html>
  <head>
    <title>DOM 教程</title>
  </head>
  <body>
    <h1>DOM 第一课</h1>
    <p>Hello world!</p>
  </body>
</html>


从上面的 HTML 中:

   ●  <html> 节点没有父节点;它是根节点
   ● <head> 和 <body> 的父节点是 <html> 节点
   ●  文本节点 "Hello world!" 的父节点是 <p> 节点

并且:

   ●  <html> 节点拥有两个子节点:<head> 和 <body>
   ●  <head> 节点拥有一个子节点:<title> 节点
   ●  <title> 节点也拥有一个子节点:文本节点 "DOM 教程"
   ●  <h1> 和 <p> 节点是同胞节点,同时也是 <body> 的子节点

并且:

   ●  <head> 元素是 <html> 元素的首个子节点
   ●  <body> 元素是 <html> 元素的最后一个子节点
   ●  <h1> 元素是 <body> 元素的首个子节点
   ●  <p> 元素是 <body> 元素的最后一个子节点


注意:

DOM 处理中的常见错误是希望元素节点包含文本。

在本例中:<title>DOM 教程</title>,元素节点 <title>,包含值为 "DOM 教程" 的文本节点。

可通过节点的 innerHTML 属性来访问文本节点的值。



HTML DOM 方法


方法即是我们可以在节点(HTML 元素)上执行的动作。


[b]编程接口[/b]

可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。

所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。

方法是您能够执行的动作(比如添加或修改元素)。

属性是您能够获取或设置的值(比如节点的名称或内容)。

getElementById() 方法返回带有指定 ID 的元素:

例: var element=document.getElementById("intro");


HTML DOM 对象 - 方法和属性

一些常用的 HTML DOM 方法:
    ●  getElementById(id) - 获取带有指定 id 的节点(元素)
    ●  appendChild(node) - 插入新的子节点(元素)
    ●  removeChild(node) - 删除子节点(元素)

一些常用的 HTML DOM 属性:
    ●  innerHTML - 节点(元素)的文本值
    ●  parentNode - 节点(元素)的父节点
    ●  childNodes - 节点(元素)的子节点
    ●  attributes - 节点(元素)的属性节点


下面也是一些常用方法:




下面是一些属性介绍:

innerHTML 属性

获取元素内容的最简单方法是使用 innerHTML 属性。
innerHTML 属性对于获取或替换 HTML 元素的内容很有用。

实例:
<html>
<body>

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

<script>
var txt=document.getElementById("intro").innerHTML;
document.write(txt);
</script>

</body>
</html>


在上面的例子中,getElementById 是一个方法,而 innerHTML 是属性。
innerHTML 属性可用于获取或改变任意 HTML 元素,包括 <html> 和 <body>。


nodeName 属性

nodeName 属性规定节点的名称。

    ● nodeName 是只读的
    ● 元素节点的 nodeName 与标签名相同
    ● 属性节点的 nodeName 与属性名相同
    ● 文本节点的 nodeName 始终是 #text
    ● 文档节点的 nodeName 始终是 #document


注释:nodeName 始终包含 HTML 元素的大写字母标签名。

nodeValue 属性

nodeValue 属性规定节点的值。

    ● 元素节点的 nodeValue 是 undefined 或 null
    ● 文本节点的 nodeValue 是文本本身
    ● 属性节点的 nodeValue 是属性值


nodeType 属性

nodeType 属性返回节点的类型。nodeType 是只读的。

比较重要的节点类型有:
元素类型 NodeType
元素 1
属性 2
文本 3
注释 8
文档 9
  • 大小: 4.1 KB
  • 大小: 3.6 KB
  • 大小: 13.1 KB
分享到:
评论

相关推荐

    HTML+JS 学习的一些小demo.zip

    本资源【HTML+JS 学习的一些小demo.zip】是一份精心整理的学习资料包,专为希望深入探索网页开发世界的初学者和进阶者设计。它汇集了一系列实用且富有教育意义的小项目(demo),旨在通过实践加深对HTML和JavaScript...

    JS学习资料

    首先,"JS学习"意味着我们将探讨JavaScript的基础语法,包括变量、数据类型(如字符串、数字、布尔值、对象等)、控制结构(如条件语句、循环语句)、函数、作用域、闭包等。这些都是编程的基石,理解它们能够帮助...

    网页制作之HTML+CSS+JS详细学习手册

    这份"网页制作之HTML+CSS+JS详细学习手册"涵盖了这些领域的核心概念和实践技巧,旨在帮助初学者和进阶者提升网页开发能力。 HTML(HyperText Markup Language)是网页内容的结构语言,用于定义网页的基本元素,如...

    js的一些练习

    总的来说,"js的一些练习"涵盖的内容非常广泛,包括基础语法、DOM操作、事件处理、异步编程等多个方面。通过这些练习,你不仅可以掌握JavaScript的基本技能,还能提升解决问题和实际开发的能力。持续学习和实践,将...

    vue.js学习文档(请勿下载,资源有问题)

    标题所涉及的知识点是“vue.js学习文档”。Vue.js(通常简称为Vue)是一个流行的前端JavaScript框架,主要用于构建用户界面和单页应用程序(SPA)。它是响应式和组件化的,使得开发者可以更容易地组织复杂的界面。...

    java学习资料 Oracle+java+JS+CSS+HTML

    2. **Web实用页面设计方法(web前台).rar**:这部分内容可能涉及网页设计的实践方法,包括HTML和CSS的使用,可能还涵盖了JavaScript的基础和进阶应用,以及前端开发的一些最佳实践。 通过这些资料,学习者可以构建起...

    表单设计器,需要有一定的JS开发基础

    开发者需要掌握基础的JS语法,理解DOM操作,以及如何利用AJAX进行异步数据传输,以便能够充分利用这些工具。 描述中提到的“基本四路和实现方法”,虽然没有明确指出具体指什么,但可以推测可能是指四个关键的步骤...

    js学习阶梯

    ### js学习阶梯知识点详解 #### 一、基础知识与前端思维 - **JavaScript基础**:这部分内容涉及JavaScript的基础语法,包括变量、数据类型、运算符、流程控制等基本概念。掌握这些是学习任何编程语言的第一步。 - ...

    JS使用基础知识

    下面将对JavaScript的基础概念、变量与数据类型、基本语法结构、函数、DOM操作等几个方面进行详细的阐述。 ### 一、JavaScript简介 JavaScript是一种轻量级的编程语言,它通常被用来在网页上实现动态效果。...

    D3.js中文版api-接口文档

    ### D3.js中文版API接口文档详解 #### 概述 D3.js是一款非常强大的JavaScript库,主要用于在网页上绘制动态的数据可视化图表。...希望本文能帮助你更好地掌握D3.js的基础知识,为进一步深入学习打下坚实的基础。

    react.js学习文档+demo

    在学习React.js时,可以参考一些官方或社区提供的资源,如阮一峰的入门教程(http://www.ruanyifeng.com/blog/2015/03/react.html)和Ant Design的文档,它们可以帮助初学者快速掌握React的基础概念和开发流程。...

    js页面学习资料ppt_js_

    以上是JavaScript在网页开发中的一些核心知识点,通过这份"js页面学习资料ppt",你将有机会深入了解和掌握这些内容,进一步提升你的JavaScript技能。记得理论结合实践,多写代码,多做项目,才能更好地理解和运用...

    d3js教程两本d3js数据可视化和精通d3js

    1. **基础概念**: 包括了解SVG、HTML5 Canvas和DOM,以及它们在数据可视化中的作用。 2. **数据绑定**: D3.js的核心功能之一就是将数据与DOM元素绑定,使每个元素都有对应的数据值。 3. **选择集与操作**: 学习如何...

    js学习心得体会工作范文.pdf

    以下是我对JS学习的一些主要心得: 1. **基础语法的重要性**:JavaScript的基础包括变量、数据类型、运算符、控制结构等,它们构成了程序的基本框架。掌握好这些基础知识,是进一步学习和理解复杂概念的前提。 2. ...

    js-goit-dom

    1. **基础概念**:首先,教程可能涵盖JavaScript的基础知识,如变量、数据类型、控制流(条件语句、循环)、函数等。然后会介绍DOM的基本概念,如节点、元素、属性和选择器。 2. **DOM操作**:如何使用JavaScript的...

    js高级编程资料

    JavaScript,简称JS,是Web开发中的核心技术之一,广泛应用于网页和网络应用的前端开发。这份“js高级编程资料”显然是一份深入学习JavaScript的资源集合,可能包含了公司的内部培训实例,旨在帮助开发者提升其在...

    Learning Vue.js 2

    此外,理解前端工程化的一些概念,如模块化、打包工具等,也会有助于深入学习Vue.js。如果对其他前端框架有所了解,比如React或Angular,可以更快地把握Vue.js的设计思想。 在学习资源方面,Olga Filipova所著的...

    javascript的基础知识 可以学习

    作为Web开发的三大核心技术之一(HTML、CSS、JavaScript),掌握JavaScript的基础知识对于学习Web开发至关重要。 首先,JavaScript的核心概念包括变量、数据类型、运算符、流程控制和函数。变量是存储数据的容器,...

    精通D3.js 交互式数据可视化高级编程_PDF

    1. D3.js基础知识:了解D3.js的基本结构,学习如何安装和引入库,以及如何使用D3.js的核心API。 2. 数据绑定与选择集:掌握数据绑定到DOM元素的方法,理解选择集的概念,以及如何使用选择集进行元素的操作。 3. ...

    最近收集和整理的一些新的JS代码

    在“最近收集和整理的一些新的JS代码”这个主题中,我们主要关注的是JavaScript的最新发展和创新应用。 1. **JavaScript基础**:JavaScript语法基于ECMAScript标准,新版本的更新如ES6(也称ES2015)引入了类、模块...

Global site tag (gtag.js) - Google Analytics