DOM对象

一、DOM是什么:

  1.  DOM= Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访
  2. 问和修改一个文档的内容和结构。
  3. Document(文档):创建一个网页并将网页添加到Web中,DOM就会根据这个网页创建一个文档对象。如果没有Document,DOM也就无从谈起。
  4. Object(对象):是一种独立的数据集合。如文档对象,就是文档中元素与内容的数据集合。与某个特定对象相关联的变量被称为这个对象的属性。可以通过某个特定对象去调用的函数被称为这个对象的方法。
  5. Mdel(模型):代表将文档对象表示为树状模型。在这个树状模型中,网页中的各个元素与内容表现为一个相互连接的节点。

二、DOM分层:

 

  1. 根节点:在最顶层的<html>节点,称为根节点
  2. 父节点:一个节点之上的节点是该节点的父节点(parent)
  3. 子节点:一个节点之下的节点是该节点的子节点(child)
  4. 兄弟节点:如果多个节点在同一个层次,并拥有相同的父节点,这几个节点就是兄弟节点(sibling)
  5. 后代:一个节点的子节点的结合可以称为是节点的后代(descendant)
  6. 叶子节点:在树型结构最底部的节点
  7. 元素节点:在html中,<body>、<p>、<a>等一系列标记,是这个文档的元素节点。元素节点组成了文档模型的语义逻辑结构
  8. 文本节点:包含在元素节点中的内容部分,如<p>标签中的文本。一般情况下,不为空的文本节点都是可见并呈现与浏览器中的
  9. 属性节点:元素节点的属性,如<a>标签的href属性。一般情况下,大部分属性节点都是隐藏在浏览器背后,并且不可见的。属性节点总是被包含在元素节点当中 

三、DOM的级别: 

1、DOM对象节点属性:

(1)访问指定节点:

        A、nodeName:获得某个节点的名称
        B、nodeType:获得某个节点的类型
                1 ------ 元素(element)就是标签
                2 ------ 属性(attribute)标签的属性
                3 ------ 文本(text)#text 标签中文本
        C、nodeValue:返回节点的值

(2)遍历文档树:

        A、parentNode:返回当前节点的父节点
        B、firstChile:返回当前节点的第一个子节点
        C、lastChild:返回当前节点的最后一个子节点
        D、previousSibling:返回当前节点的前一个兄弟节点
        E、nextSibling:返回当后节点的后一个兄弟节点

2、节点:

(1)创建新节点

A、使用文档对象中的createElement()和createTextNode()方法,生成一个新元素

createElement():创建新节点
createTextNode():创建节点文本

B、再使用appendChild()方法将创建创建的新节点添加到当前节点的末尾处

appendChild(newNode):将新节点'newNode'添加到页面中

 创建单个节点:

<script type="text/javascript">
    window.onload = function(){
        var b = document.createElement("b");//创建节点元素b
        var txt = document.createTextNode("创建新节点");//创建节点文本
        b.appendChild(txt);//将节点文本添加到节点中
        document.body.appendChild(b);//将新节点b添加到页面上
    }
</script>

(2)插入节点

通过使用insertBefore()方法来实现

语法:

insertBefore(new,ref)

参数说明:
new :表示新的子节点
ref:指定一个节点,在这个节点前插入新的节点 

(3)复制节点

使用cloneNode()方法实现

语法:

cloneNode(deep)

参数说明: 

deep:是一个boolean值,表示是否为深度复制。深度复制是将当前节点的所有子节点全部复制,当值为true时表示深度复制;当值为false时表示简单复制,只复制当前节点,不复制其子节点。 

(4)删除节点 

使用removeChild()方法实现

语法:

removeChild(node)

参数说明: 

node:要删除的节点

(5)替换节点

使用replaceChild()方法实现

语法:

replaceChild(new,old)

参数说明: 

new:替换后的新节点
old:需要被替换的旧节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值