10 JavaScript高级DOM 02

一、DOM(Document Object Model 文档对象模型)

10 JavaScript高级DOM 02

W3C DOM 标准被分为 3 个不同的部分:

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

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

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

学会查看w3school文档(XML DOM、HTML DOM)

 

1.核心DOM

Document:文档对象

        1. 创建(获取):在html dom模型中可以使用window对象来获取

            1. window.document

            2. document

        2. 方法:

            1. 获取Element对象:

                1. getElementById()    : 根据id属性值获取元素对象。id属性值一般唯一

                2. getElementsByTagName():根据元素名称获取元素对象们。返回值是一个数组

                3. getElementsByClassName():根据Class属性值获取元素对象们。返回值是一个数组

                4. getElementsByName(): 根据name属性值获取元素对象们。返回值是一个数组

            2. 创建其他DOM对象:

                createAttribute(name)

                createComment()

                createElement()

                createTextNode()

         3. 属性

 

Element:元素对象

        1. 获取/创建:通过document来获取和创建

        2. 方法:

            1. removeAttribute():删除属性

            2. setAttribute():设置属性

 

Node:节点对象,其他5个的父对象

        * 特点:所有dom对象都可以被认为是一个节点

        * 方法:

            * CRUD dom树:

                * appendChild():向节点的子节点列表的结尾添加新的子节点。

                * removeChild()   :删除(并返回)当前节点的指定子节点。

                * replaceChild():用新节点替换一个子节点。

        * 属性:

            * parentNode 返回节点的父节点。

 

2.HTML DOM

    1. 标签体的设置和获取:innerHTML

    2. 使用html元素对象的属性

    3. 控制元素样式

        1. 使用元素的style属性来设置

            如:

                //修改样式方式1

                div1.style.border = "1px solid red";

                div1.style.width = "200px";

                //font-size--> fontSize

                div1.style.fontSize = "20px";

        2. 提前定义好类选择器的样式,通过元素的className属性来设置其class属性值。

     (一般用第二种,也可用元素对象.setAttribute("class","cls_a");   ---class为属性,cls_a为类选择器定义了样式

 

3.事件(查看w3school文档)

 

小知识:

  超链接功能:

            1.可以被点击:样式

            2.点击后跳转到href指定的url

        需求:保留1功能,去掉2功能

        实现:href="javascript:void(0);"

 

 

注意:*************************************************************

一、事件

1.ev(event对象)参数。。。。Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。

2.js中调用方法,与参数无关,只与方法名有关

10 JavaScript高级DOM 02

 

二、元素属性设置的两种方式

 

10 JavaScript高级DOM 02

三、window.onload里面,一般获取页面元素的代码都得写在这里面

页面从上往下加载,页面加载完毕之后,会加载window.onload里面的元素,如果获取元素不写在里面

从上往下加载的时候,会先执行获取元素的代码,但是后面的html元素还未加载,所以会报错