JavaScript DOM API知识串讲

JavaScript DOM API知识串讲

1. DOM是什么?

DOM,全称Document Object Model,指文档对象模型,是浏览器将HTML文档解析为树形结构,用来操作HTML元素的应用程序接口(API),可视为JavaScript访问和操作网页的接口。

2. DOM中的节点类型

DOM中的节点类型包括元素节点、属性节点、文本节点、注释节点等等,其中元素节点指的是HTML中的标签,而属性节点则是HTML标签上的属性,如下所示:

节点类型

const p = document.createElement('p');

const a = document.createElement('a');

const text = document.createTextNode('Hello World!');

const attr = document.createAttribute('href');

p.nodeType; // 1

a.nodeType; // 1

text.nodeType; // 3

attr.nodeType; // 2

在上面的代码中,我们使用document.createElement()方法创建了两个元素节点p和a,使用document.createTextNode()方法创建了一个文本节点text,使用document.createAttribute()方法创建了一个属性节点attr,通过节点的nodeType属性可以获取到节点的类型。

3. DOM中的属性和方法

DOM中有很多常用的属性和方法,下面列举一些比较常用的属性和方法。

(1)document.getElementById()

document.getElementById()方法根据元素的id属性获取元素节点,如下所示:

获取元素节点

const element = document.getElementById('myDiv');

(2)element.innerHTML

element.innerHTML属性可用于获取或设置元素的HTML内容,如下所示:

获取和设置HTML内容

const element = document.getElementById('myDiv');

// 获取HTML内容

const html = element.innerHTML;

// 设置HTML内容

element.innerHTML = '<p>Hello World!</p>';

(3)element.setAttribute()

element.setAttribute()方法可用于设置属性节点的值,如下所示:

设置属性节点的值

const element = document.getElementById('myLink');

element.setAttribute('href', 'http://www.google.com');

(4)element.getAttribute()

element.getAttribute()方法可用于获取属性节点的值,如下所示:

获取属性节点的值

const element = document.getElementById('myLink');

const href = element.getAttribute('href');

4. DOM事件

DOM事件是指用户与网页交互时发生的各种事件,如点击、滚动、输入等等,在JavaScript中可以使用addEventListener()方法为元素添加事件监听器,如下所示:

添加事件监听器

const button = document.getElementById('myButton');

button.addEventListener('click', function() {

alert('Button Clicked');

});

在上面的代码中,我们使用addEventListener()方法为按钮元素添加了一个点击事件的监听器,在按钮被点击时会弹出一个警告框。

除了click事件外,DOM还有很多其他事件,如mouseover、mouseout、keyup等,可以根据需要选择相应的事件。

5. DOM操作

DOM操作指通过JavaScript对HTML文档进行修改和更新,常用的操作包括添加和删除元素、修改元素的属性和内容等等,如下所示:

(1)添加元素

可以使用appendChild()方法向某个元素中添加子元素,如下所示:

添加元素

const element = document.getElementById('myDiv');

const newElement = document.createElement('p');

element.appendChild(newElement);

在上面的代码中,我们使用createElement()方法创建了一个新的P元素newElement,然后使用appendChild()方法将其添加为myDiv元素的子元素。

(2)删除元素

可以使用removeChild()方法从某个元素中删除子元素,如下所示:

删除元素

const element = document.getElementById('myDiv');

const childElement = element.children[0];

element.removeChild(childElement);

在上面的代码中,我们使用children属性获取myDiv元素的第一个子元素childElement,并使用removeChild()方法将其从myDiv元素中删除。

(3)修改元素的属性和内容

可以使用setAttribute()方法修改元素的属性值,如下所示:

修改元素的属性值

const element = document.getElementById('myDiv');

element.setAttribute('class', 'myClass');

在上面的代码中,我们使用setAttribute()方法将myDiv元素的class属性值设置为myClass。

可以使用innerHTML属性修改元素的内容,如下所示:

修改元素的内容

const element = document.getElementById('myDiv');

element.innerHTML = '<p>Hello World!</p>';

在上面的代码中,我们使用innerHTML属性将myDiv元素的内容设置为一个P标签。

6. 结语

以上就是本文对JavaScript DOM API的知识串讲,DOM是HTML操作中非常重要的一个部分,掌握好DOM的相关知识可以极大地提高网页的开发效率和质量。