<1>中常用的Document了解

Document是JavaScript中一个很重要的对象,它代表整个HTML文档,可以通过Document对象来访问和操作文档中的任何元素,如DOM节点、表单元素、事件和属性等。在本文中,我们将详细介绍Document的用法,包括获取和操作DOM节点、添加和删除元素、改变元素样式和内容、以及添加事件等常用操作。

1. 获取DOM节点

Document对象提供了许多方法来获取文档中的DOM节点,如getElementById()、getElementsByClassName()、getElementsByTagName()、querySelector()、querySelectorAll()等。接下来我们逐一介绍它们的用法。

1.1 getElementById()

getElementById()方法用于获取指定ID的元素。它接收一个字符串参数,即要获取的元素的ID值,返回一个对象,表示获取的元素。例如:

```html

Hello world!

```

```javascript

// 获取ID为myDiv的元素

var myDiv = document.getElementById("myDiv");

```

1.2 getElementsByClassName()

getElementsByClassName()方法用于获取指定类名的元素。它接收一个字符串参数,即要获取的元素的类名,返回一个集合,表示获取的元素列表。例如:

```html

  • Item 1
  • Item 2
  • Item 3

```

```javascript

// 获取类名为list-item的元素列表

var listItems = document.getElementsByClassName("list-item");

```

1.3 getElementsByTagName()

getElementsByTagName()方法用于获取指定标签名的元素。它接收一个字符串参数,即要获取的元素的标签名,返回一个集合,表示获取的元素列表。例如:

```html

  • Item 1
  • Item 2
  • Item 3

```

```javascript

// 获取所有li元素

var listItems = document.getElementsByTagName("li");

```

1.4 querySelector()

querySelector()方法用于获取指定选择器的第一个元素。它接收一个字符串参数,即要获取的元素的选择器,返回一个对象,表示获取的元素。例如:

```html

Hello world!

```

```javascript

// 获取类名为myDiv的第一个元素

var myDiv = document.querySelector(".myDiv");

```

1.5 querySelectorAll()

querySelectorAll()方法用于获取指定选择器的所有元素。它接收一个字符串参数,即要获取的元素的选择器,返回一个集合,表示获取的元素列表。例如:

```html

  • Item 1
  • Item 2
  • Item 3

```

```javascript

// 获取类名为list-item的所有元素

var listItems = document.querySelectorAll(".list-item");

```

2. 添加和删除元素

Document对象不仅可以获取文档中的元素,还可以添加和删除元素。下面我们将详细介绍它们的用法。

2.1 添加元素

Document对象提供了createElement()方法和appendChild()方法来添加元素。

createElement()方法用于创建一个新的HTML元素。它接收一个字符串参数,即所要创建的元素的标签名,返回一个对象,表示所创建的元素。例如:

```javascript

// 创建一个新的div元素

var myDiv = document.createElement("div");

```

appendChild()方法用于将一个DOM节点添加到另一个节点的末尾。它接收一个参数,即要添加的节点对象。例如:

```html

    ```

    ```javascript

    // 创建一个新的li元素,并将其添加到ul元素末尾

    var myList = document.getElementById("myList");

    var listItem = document.createElement("li");

    myList.appendChild(listItem);

    ```

    2.2 删除元素

    Document对象提供了removeChild()方法来删除元素。

    removeChild()方法用于从DOM中删除一个子节点。它接收一个参数,即要删除的子节点对象。例如:

    ```html

    • Item 1
    • Item 2
    • Item 3

    ```

    ```javascript

    // 删除ID为myList的第一个子节点

    var myList = document.getElementById("myList");

    var firstItem = myList.firstChild;

    myList.removeChild(firstItem);

    ```

    3. 改变元素样式和内容

    Document对象不仅可以添加和删除元素,还可以改变元素的样式和内容。下面我们将详细介绍它们的用法。

    3.1 改变元素样式

    Document对象提供了style属性来改变元素的样式。

    style属性是一个对象,包含了所有CSS属性和对应的值。例如,要改变元素的背景颜色和字体颜色,可以这样做:

    ```html

    Hello world!

    ```

    ```javascript

    // 改变元素的背景颜色和字体颜色

    var myDiv = document.getElementById("myDiv");

    myDiv.style.backgroundColor = "red";

    myDiv.style.color = "white";

    ```

    3.2 改变元素内容

    Document对象提供了innerHTML属性来改变元素的内容。

    innerHTML属性返回或设置元素的HTML内容,可以是任何有效的HTML代码。例如,要将元素的文本内容修改为新的文本,可以这样做:

    ```html

    Old text

    ```

    ```javascript

    // 将p元素的文本内容修改为New text

    var myP = document.getElementById("myP");

    myP.innerHTML = "New text";

    ```

    4. 添加事件

    Document对象还可以添加事件,以相应用户的交互行为,如鼠标单击、键盘按下等。下面我们将详细介绍它们的用法。

    4.1 添加事件处理程序

    Document对象提供了addEventListener()方法来添加事件处理程序。

    addEventListener()方法接收三个参数,分别是要响应的事件类型、事件发生时调用的函数、和一个布尔值,表示该事件是否在捕获阶段处理(默认为false,即在冒泡阶段处理)。例如,要在点击按钮时弹出提示框,可以这样做:

    ```html

    ```

    ```javascript

    // 添加点击事件处理程序

    var myButton = document.getElementById("myButton");

    myButton.addEventListener("click", function() {

    alert("Button clicked!");

    });

    ```

    4.2 删除事件处理程序

    Document对象提供了removeEventListener()方法来删除事件处理程序。

    removeEventListener()方法接收与addEventListener()方法相同的参数,即要删除的事件类型和处理函数。例如,要删除上述的点击事件处理程序,可以这样做:

    ```javascript

    // 删除点击事件处理程序

    myButton.removeEventListener("click", function() {

    alert("Button clicked!");

    });

    ```

    至此,我们已经详细介绍了Document对象的常用用法,包括获取和操作DOM节点、添加和删除元素、改变元素样式和内容、以及添加事件等操作。在实际开发中,这些操作常常用于构建动态交互界面、增强用户体验和灵活处理用户交互行为等方面。

    壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

    我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

    点赞(112) 打赏

    评论列表 共有 0 条评论

    暂无评论
    立即
    投稿
    发表
    评论
    返回
    顶部