javaScript DOM编程

1.DOM概述

1.1.        什么是DOM?

DOM= Document Object Model,文档对象模型, DOM 是 W3C(万维网联盟)的标准。DOM 定义了访问 HTML 和 XML 文档的标准:独立于平台和语言的接口. W3C DOM 标准被分为 3 个不同的部分:

核心 DOM - 针对任何结构化文档的标准模型

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

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

 

1.2.        什么是HTML DOM?

 HTML DOM 定义了访问和操作HTML文档的标准方法。HTML DOM 把 HTML 文档呈现为带有元素、属性和文本的树结构(节点树)

 当我们用浏览打开一个html文件时, 浏览器内置的HTML解析引擎就会将整个文档加载到内存中, 并根据HTML DOM定义的接口和实现类生成一个包含文件内所有数据的DOM对象树.


<html>

<head>

<title>文档标题</title>

</head>

<body>

<h1>我的标题</h1>

<a href="http://www.atguigu.com">我的链接</a>

</body>

</html>

2.  HTML DOM核心: 节点

2.1.       HTML节点(Node)

  • HTML文档中的每个成分都是一个节点。
  • 整个文档是一个文档节点(Document)
  • 每个 HTML 标签是一个元素节点(Element)
  • 每一个 HTML 属性是一个属性节点(Attribute)
  • 包含在 HTML 元素中的文本是文本节点(Text

2.2.       Node层次

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

2.3.       HTML DOM节点树

  •         一棵节点树中的所有节点彼此都是有关系的


    <html>

    <head>

    <title>DOM Tutorial</title>

    </head>

    <body>

    <h1>DOM Lesson one</h1>

    <p>Hello world!</p>

    </body>

    </html>


    父节点


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


    子节点


    大部分元素节点都有子节点


    同辈节点


    当节点分享同一个父节点时,它们就是同辈


    后代节点


    后代指某个节点的所有子节点


    先辈节点


    先辈是某个节点的父节点,或者父节点的父节点,以此类推

    3.   DOM操作

  • 3.1HTML DOM访问节点(查询)


  • 对象类型


    属性/方法


    说明


    文档/元素节点


    getElementById(id)


    根据标签的id得到对应的标签对象


    文档/元素节点


    getElementsByTagName(tag)


    根据标签名得到对应的所有子标签对象的集合(数组)


     


    节点


    nodeName


    得到节点名


    节点


    nodeValue


    得到节点的值


    节点


    nodeType


    节点类型值


     


    元素节点


    childNodes


    得到所有子节点的集合(数组)


    元素/文本节点


    parentNode


    得到父节点对象(标签)


    元素节点


    firstChild


    得到第一个子节点(标签/文本)


    元素节点


    lastChild


    得到最后一个子节点(标签/文本)


     


    元素节点


    getAttributeNode(attrName)


    根据属性名标签的属性节点

  • 3.3.       HTML DOM的增删改


  • 对象类型


    属性/方法


    说明


    文档节点


    createElement(tagName)


    创建一个新的元素节点对象


    文档节点


    createTextNode(text)


    创建一个文本节点对象


     


    元素节点


    appendChild(node)


    将指定的节点添加为子节点


    元素节点


    insertBefore(new,target)


    在指定子节点的前面插入新节点


     


    元素节点


    replaceChild(new, old)


    用新节点替换原有的旧子节点


    元素节点


    removeChild(childNode)


    删除指定的子节点


    元素节点


    setAttribute(name, value)


    为标签添加一个属性


    元素节点


    removeAttribute(name)


    删除指定的属性


     


    元素节点


    innerHTML


    向标签中添加一个标签


    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>HTML DOM编程测试</title>

    <style type="text/css">

    ul {

    list-style-type: none;

    }

    li {

    border-style: solid;

    border-width: 1px;

    padding: 5px;

    margin: 5px;

    background-color: #99ff99;

    float: left;

    }

    .out {

    width: 400px;

    border-style: solid;

    border-width: 1px;

    margin: 10px;

    padding: 10px;

    float: left;

    }

    </style>

    </head>

    <body>

    <div class="out">

    <p>你喜欢哪个城市?</p>

    <ul id="city">

    <li id="bj" name="BeiJing">北京</li>

    <li>上海</li>

    <li id="dj">东京</li>

    <li>首尔</li>

    </ul>

    <br>

    <div id="inner"></div>

    </div>

    </body>

    </html>

时间: 2024-12-15 09:22:59

javaScript DOM编程的相关文章

Javascript Dom编程艺术(第2版)读书笔记

Javascript Dom编程艺术这本书我看的是第2版的,真心觉得这本书不错,它将DOM编程的一些基本原则,及如何让Javascript代码在浏览器不支持的情况下,或浏览器支持了Javascript但用户禁用它的情况下做到平衡退化,让最基本的操作仍能顺利完成,以及如何让结构与样式分享做到真正的渐近增强叙述得很清楚,也很容易理解接受.我也是看了这本书之后,才对代码优化,结构,行为,样式有了进一步的加深理解. Javascript Dom编程艺术(第2版)读书笔记,布布扣,bubuko.com

JavaScript DOM编程艺术第一章:JavaScript简史

本系列的博客是由本人在阅读<JavaScript DOM编程艺术>一书过程中做的总结.前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助,所以 如果您也看过这本书,希望不要喷小的"抄袭",其实我也懒得敲这些文字也想简单粗暴地上代码,但是只有实践没有理论不容易自己理解,为避免误导,该"抄"的地方还是要"抄"的,哈哈~~ 一.JavaScript的起源 JavaScript是Netscap

Javascript DOM 编程艺术读书笔记16/04/01

愚人节快乐 开始用webstorm了,随着学习深入,代码越来越长,因为不借助ide还真是挺难的 今天发现了一个严重的误区,text和textNode是完全不同的两个概念,之前没有特别注意,写代码很容易跳过createTextNode直接用parentNode.appendChild(text) 单独拎出来晒一晒,以后引以为戒 Javascript DOM 编程艺术读书笔记16/04/01

JavaScript DOM编程艺术学习笔记(一)

嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推荐给想了解HDOM的相关人员!首先非常感谢作者写出了这么好的一本书,谢谢!书中的内容比较多,我仅记下我认为对自己和他人有所帮助的一些内容! 嗯,首先还是让代码来说话吧! 下面是两段此书中反复强调且通用的经典代码段 1:相当的经典和实用,尤其是当需要为页面加载函数绑定多个函数的时候 /** * [addLoad

《javascript dom编程艺术》笔记(二)——美术馆示例

这几天把这本书看完了,里面大部分知识我已经会了,所以看得就略简单,好多地方都没有再去动手去做,我知道这样是不对的,以后补吧. 现在我要做的是把这本书的笔记完结掉,不然总觉得有啥事没有做. 这个版本不是书中的最后版本,好像是第二版吧.后面还有动态创建结点的一版本,我已经在别的地方实践过了,就不再做了. 只贴出两个函数. //显示图片方法 function showPicture (whichpic) { //综合绑定的事件考虑,条件执行失败,希望浏览器可以让用户打开图片,因此在onclick处re

【JavaScript】JavaScript DOM 编程

在开发的时候,最主要是对DOM进行操作.DOM:Document Object Model 文本对象模型.DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构. DOM是针对xml(HTML)的基于树的API. DOM树:表示的是节点的层次,如下图: DOM节点及其类型:HTML文档中的所有的内容都是节点. 元素节点:每一个HTML元素是一个元素节点. 属性节点:元素的属性,属性节点,可以直接通过属性的方式来操作. 文本节点:是元素节点的子节点,其内容为文本. 例:<li id

JavaScript DOM编程艺术 读书笔记

3 DOM DOM分别指document,object和model. DOM中包含的节点主要分为三种:元素节点.文本节点和属性节点.DOM的原子是元素节点,标签的名字就是元素的名字,元素可以包含其他的元素.没有被包含在其他元素里的唯一元素是<html>元素,它是树节点的根元素:在XHTML文档里,文本节点总是被包含在元素节点的内部.但并非所有的元素节点都包含有文本节点:属性节点用来对元素做出更具体地描述. 有3种DOM方法可获取元素节点,分别是通过元素ID.通过标签名字和通过类名字来获取. 1

Javascript——DOM编程

Javascript--DOM编程 基本概述 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构.换句话说,这是表示和处理一个HTML或XML文档的常用方法.DOM 可被 JavaScript 用来读取.改变 HTML.XHTML 以及 XML 文档.具体定义可以参考--百度百科 DOM的必要性 1.DOM编程重要的作用是可以让用户对网页元素进行交互操作.

JavaScript Dom编程艺术 第6章的一个错误

今天在看JavaScript Dom编程艺术 第6章:图片库的改进版时:按照书上的代码,敲出来运行,确怎么也不能显示出正确的结果.加进去断点,调试,发现:prepareGallery 函数根本没被调用,而prepareGallery函数是绑定到window.onLoad事件上的,于是仔细检查书上代码,发现,window.onLoad = prepareGallery;后边少加了个括号.加上括号之后,结果正确.改正后的代码如下: 1 function addLoadEvent(func){ 2 v

《JavaScript DOM 编程艺术》 ——笔记

以下只是个人的读书笔记,限于本人的知识局限性,可能有偏差.请见谅,欢迎指出问题. 1.本书的名字就是<JavaScript DOM 编程艺术>,那么首先什么是DOM呢? DOM-Document Object MOdel,按字面上的意思翻译就是文本对象模型.“W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容.结构和样式.” 它将网页抽象成一个节点树: <!DOCTYPE html> <html lang="en&