一、DOM 简介,什么是 DOM?

文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。

标记语言,也称置标语言,是一种将文本(Text)以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括例如文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记进行标识

HTML 文档对象模型(HTML Document Object Model)定义了访问和处理 HTML 文档的标准方法。

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

DOM 以树结构表达 HTML 文档。

二、DOM 节点

DOM节点是这样规定的:

1.整个文档是一个文档节点

2.每个 HTML 标签是一个元素节点

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

4.每一个 HTML 属性是一个属性节点

5.注释属于注释节点

三、DOM节点树

所有的节点彼此间都存在等级关系。

  1. 除文档节点之外的每个节点都有父节点。<html>
  2. 大部分元素节点都有子节点。<head>
  3. 当节点分享同一个父节点时,它们就是同辈(同级节点)。<head>和<body>
  4. 节点也可以拥有后代,后代指某个节点的所有子节点,或者这些子节点的子节点,以此类推。<head>
  5. 节点也可以拥有先辈。先辈是某个节点的父节点,或者父节点的父节点,以此类推。<html>

四、DOM 节点访问

1.通过文档对象(document)查找并访问节点

•通过使用方法:

document.getElementById()                             返回所有指定元素的id属性

document.getElementByName()                      返回所有指定元素的name属性

document.getElementsByTagName()      返回所有指定元素的标签名称

document.createElement("element")             返回动态创建HTML对象

•通过使用属性:

parentNode     元素的父节点(parentNode)

firstChild           第一个子元素(firstChild)

lastChild                    最后一个子元素(lastChild)

五、DOM 节点信息

每个节点都拥有包含着关于节点某些信息的属性。这些属性是:

nodeName(节点名称)

nodeValue(节点值)

nodeType(节点类型)

1.nodeName 属性含有某个节点的名称。

•元素节点的 nodeName 是标签名称

•属性节点的 nodeName 是属性名称

•文本节点的 nodeName 永远是 #text

•文档节点的 nodeName 永远是 #document

注释:nodeName 所包含的 XML 元素的标签名称永远是大写的

2.nodeValue

对于文本节点,nodeValue 属性包含文本。

对于属性节点,nodeValue 属性包含属性值。

nodeValue 属性对于文档节点和元素节点是不可用的。

3.nodeType

nodeType 属性可返回节点的类型。

以下是最重要的节点类型:

元素类型                 节点类型

1.元素                                1

2.属性                                2

3.文本                                3

4.注释                                8

5.文档                                9

六、Browser 对象

DOM Window:Window 对象表示浏览器中打开的窗口。

如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象,所以才保证了打开同一个页面的不同窗口的对象初始化完全不一样。

Window 对象描述:

Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算

要引用窗口中的一个框架,可以使用如下语法:
frame[i]           //当前窗口的框架
self.frame[i]     //当前窗口的框架
w.frame[i]         //窗口 w 的框架

要引用一个框架的父窗口(或父框架),可以使用下面的语法:
parent               //当前窗口的父窗口
self.parent        //当前窗口的父窗口
w.parent          //窗口 w 的父窗口

要从顶层窗口含有的任何一个框架中引用它,可以使用如下语法:
top            //当前框架的顶层窗口
self.top     //当前框架的顶层窗口
f.top          //框架 f 的顶层窗口

DOM Navigator:Navigator 对象包含有关浏览器的信息。

DOM Screen:Screen 对象包含有关客户端显示屏幕的信息。

DOM History:History 对象包含用户(在浏览器窗口中)访问过的 URL。

DOM Location:Location 对象包含有关当前 URL 的信息。

七、HTML DOM 对象

DOM Document:

DOM Style:Style对象代表一个单独的样式声明。可从应用样式的文档或元素访问 Style 对象。

1.使用 Style 对象属性的语法:

document.getElementById("id").style.property="值"

2.Style 对象的属性:

•background背景

•border边框和margin边距

•layout布局

•list列表

•杂项

•positioning定位

•printing打印

•scrollbar滚动条

•table表格

•text文本

•规范

2级DOM引进的几个新DOM模块来处理新的接口类型:

DOM视图:描述跟踪一个文档的各种视图(使用CSS样式设计文档前后)的接口;

DOM事件:描述事件接口;

DOM样式:描述处理基于CSS样式的接口;

DOM遍历与范围:描述遍历和操作文档树的接口;

HTML DOM 基础知识,成为javascript晋级高手的必备手册的更多相关文章

  1. HTML DOM基础知识

    HTML DOM基础知识 一.什么是DOM? 1.HTML DOM 定义了访问和操作HTML文档的标准方法. 2.HTML DOM 把 HTML 文档呈现为带有元素.属性和文本的树结构(节点树). 3 ...

  2. 【JQuery基础知识/statusCode(状态码)】---初学者必备

    今天,给大家分享一下JQuery的基础知识,简单介绍一下JQuery高级_Ajax,和我们常见的一些statusCode(状态码)~~~ 如果存在错误,请大家多多指正留言~小女子在此谢过! 一.JQu ...

  3. javascript中DOM基础知识介绍

    1.1.     基本概念 1.1.1.      DOM DOM Document Object Model 文档对象模型 就是把HTML文档模型化,当作对象来处理 DOM提供的一系列属性和方法可以 ...

  4. 【基础知识】JavaScript基础

    [学习日记]JavaScript基础 1,一般写在<head></head>中(其实可以放到任意位置); 2,弹出对话框 <scripttype="text/j ...

  5. DOM基础知识整理

    --<JavaScript高级程序设计>Chapter10学习笔记 一.节点层次 1.Node类型 1)(Node).nodeType属性 节点nodeType属性有12种. 检测node ...

  6. Javascript--HTML DOM基础知识

    1.HTML DOM是什么,以及它的作用: w3c对DOM有一系列的解释和定义,用自己理解的话来说就是:HTML DOM是html的标准对象模型,可以使JavaScript去操作(获取,修改,删除,添 ...

  7. DOM基础知识

    DOM BOMDOM 文档对象模型 document.BOM 浏览器界面上所有内容 broder object.没有括号属性.()方法 DOM写法 document.作用 做特效 找到 摘出元素 增删 ...

  8. 【javascript基础知识】javascript中的转义序列和特殊数值常量

    javascript的转义序列 \0 NUL字符(\u0000) \b 退格符(\u0008) \t 水平制表符(\u0009) \n 换行符(\u000A) \v 垂直制表符(\u000B) \f ...

  9. JS基础知识:Javascript事件触发列表

    Javascript是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言. JavaScript使我们有能 ...

随机推荐

  1. LESS碎语

    推荐在Brackets安装"LESS AutoCompile"插件,当保存less文件会自动生成或保存相应的css文件. 变量 以@开头声明变量,并且对变量进行分类,比如颜色变量. ...

  2. SurfaceFlinger( 226): Permission Denial: can't access SurfaceFlinger

    MODIFY_PHONE_STATE permission is granted to system apps only. For your information, there are 2 type ...

  3. Reflector_8.3.0.93_安装文件及破解工具

    Reflector_8.3.0.93_安装文件及破解工具 下载地址:http://pan.baidu.com/s/1jGwsYYM   约 8.9MB

  4. mysql处理特殊字符

    修改表 alter table USER convert to charset utf8mb4, character set utf8mb4; 修改列 ALTER TABLE USER DEFAULT ...

  5. 黑马day17 ajax&amp;实现username自己主动刷新

    1. regist.jsp文件 <%@ page language="java" pageEncoding="utf-8"%> <!DOCTY ...

  6. SQL文件的BOM问题导致的invalid character错误及解决

    最近在做数据的搬运工,将Oracle中的数据搬运到ES中,方案很成熟了,使用Logstash的jdbc-input执行SQL,然后将结果输出到ES中.这么简单的问题,在测试环境中测试也一帆风顺,可一上 ...

  7. RAISR: rapid and accurate image super resolution

      准确地说,RAISR并不是用来压缩图像的,而是用来upsample图像的. 众所周知,图片缩小到半分辨率后,在拉回原大小,会出现强烈的锯齿.从80年代开始就有很多super sampling的方法 ...

  8. 一步一步学SpringDataJpa——JpaRepository查询功能

    原文地址: https://blog.csdn.net/ming070423/article/details/22086169 1.JpaRepository支持接口规范方法名查询.意思是如果在接口中 ...

  9. 洛谷P1284 三角形牧场

    题目描述 和所有人一样,奶牛喜欢变化.它们正在设想新造型的牧场.奶牛建筑师Hei想建造围有漂亮白色栅栏的三角形牧场.她拥有N(3≤N≤40)块木板,每块的长度Li(1≤Li≤40)都是整数,她想用所有 ...

  10. JVM的内存区域划分(转)

    原文链接:JVM的内存区域划分 JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆.栈以及静态数据区.那么在Java语言当中,内 ...