JavaScript——DOM对象详解1

335 阅读2分钟

这是我参与更文挑战的第10天,活动详情查看: 更文挑战

DOM对象简介

什么是DOM?

DOM(Document Object Model文档对象模型)是一套规范文档内容的通用型标准。

DOM对于JS来说是一种可以操作HTML文档的一种重要手段。利用DOM可以完成对HTML文档内所有元素的获取、访问、标``签属性和样式的设定等操作。

DOM HTML节点树

DOM HTML指的是DOM中为操作HTML文档提供的属性和方法,其中文档表示HTML文件,文档中的标签称为元素,文档中的``所有内容称为节点(可以看出节点包括元素)。一个HTML文件可以看做是所有元素组成的一个节点树,各元素节点``之间有级别的划分。

节点可分为:标签节点(也就是元素),文本节点,属性节点,注释节点。
节点之间有如下关系:
1. 根节点:<html>标签是整个文档的根节点,有且只有一个。
2. 子节点:指的是某个节点的下层节点。比如:<html>下的<head>节点。
3. 父节点:指的是某个节点的上层节点。
4. 兄弟节点:两个节点属于同一个级别。比如:<head><body>节点

常见的节点类型

ELEMENT_NODE     元素节点   
ATTRIBUTE_NODE   属性节点
TEXT_NODE        文本节点
COMMENT_NODE     注释节点
DOCUMENT_NODE    文档节点

给一个具体例子看如何使用,如下:

    <div id = "test"></div>
    <script>
        var test = document.getElementById('test');
        console.log(test.nodeType === Node.ELEMENT_NODE); //结果为ture
        console.log(document.nodeType === Node.DOCUMENT_NODE); //结果为ture
    </script>

image.png

HTML元素操作

获取操作的元素

利用doucument对象的方法
1. document.getElementById()        返回对拥有指定Id的第一个对象的引用
2. document.getElemensByName()      返回带有指定名称的对象集合
3. document.getElementsByTagName()   返回带有指定标签名的对象集合
4. document.getElementsClassName()   返回带有指定类名的对象集合(不支持IE6~8)

来看具体例子
<div id = "box">box</div>
    <div class = "bar">bar</div>
    <div name = "main">main</div>
    <script>
        //获取指定id的第一个对象的引用
        console.log(document.getElementById('box'));
        //获取所有指定名字的对象集合
        console.log(document.getElementsByName('main'));
        //获取所有指定标签名的对象集合
        console.log(document.getElementsByTagName('div'));
        //获取所有指定类名的对象集合
        console.log(document.getElementsByClassName('bar'));
    </script>

image.png

可以看出document.getElementById()方法返回的是一个对象,而其他三个方法返回的对象集合,若要获取它们其中的某个对象可以通过下标的方式获取。(下标默认是0)。

var box = document.getElementById('box');
        var divs = document.getElementsByTagName('div');
        console.log(box === divs[0]);

image.png

可以看到结果为true,这也验证了document.getElementById()的作用。