DOM 基本方法

DOM(Document Object Model,文档对象模型)是一套对 HTML 和 XML 文档的编程接口,它把整个文档抽象成一组“节点”和“对象”结构(包括元素、属性、文本等),开发者可以利用 DOM API 对页面进行增删改查等操作。

DOM 的基本方法主要有以下几类:

1. 获取元素对象

getElementById()

getElementById(id) 方法是通过元素的 ID 来获取元素对象,返回值是一个 Element 类型的对象。如果 ID 不存在或重复,则返回 null。

示例:

<!-- HTML 代码 -->
<div id="box">This is a box.</div>
// JavaScript 代码
const box = document.getElementById('box');
console.log(box.innerHTML); // This is a box.

getElementsByTagName()

getElementsByTagName(tagName) 方法是通过标签名来获取元素对象,返回值是一个 HTMLCollection 类型的对象,包含了所有带有指定标签名的元素。

示例:

<!-- HTML 代码 -->
<ul>
  <li>Apple</li>
  <li>Banana</li>
  <li>Orange</li>
</ul>
// JavaScript 代码
const lis = document.getElementsByTagName('li');
for (let i = 0; i < lis.length; i++) {
  console.log(lis[i].innerHTML); // Apple, Banana, Orange
}

getElementsByClassName()

getElementsByClassName(className) 方法是通过类名来获取元素对象,返回值是一个 HTMLCollection 类型的对象,包含了所有带有指定类名的元素。

示例:

<!-- HTML 代码 -->
<ul>
  <li class="fruit">Apple</li>
  <li class="fruit">Banana</li>
  <li>Orange</li>
</ul>
// JavaScript 代码
const fruits = document.getElementsByClassName('fruit');
for (let i = 0; i < fruits.length; i++) {
  console.log(fruits[i].innerHTML); // Apple, Banana
}

querySelector()

querySelector(selector) 方法是通过 CSS 选择器来获取元素对象,返回值是一个 Element 类型的对象,返回符合选择器的第一个元素。

示例:

<!-- HTML 代码 -->
<ul>
  <li class="fruit">Apple</li>
  <li class="fruit">Banana</li>
  <li>Orange</li>
</ul>
// JavaScript 代码
const apple = document.querySelector('.fruit');
console.log(apple.innerHTML); // Apple

querySelectorAll()

querySelectorAll(selector) 方法是通过 CSS 选择器来获取元素对象,返回值是一个 NodeList 类型的对象,包含了所有符合选择器的元素。

示例:

<!-- HTML 代码 -->
<ul>
  <li class="fruit">Apple</li>
  <li class="fruit">Banana</li>
  <li>Orange</li>
</ul>
// JavaScript 代码
const fruits = document.querySelectorAll('.fruit');
for (let i = 0; i < fruits.length; i++) {
  console.log(fruits[i].innerHTML); // Apple, Banana
}

2. 修改元素属性和内容

innerHTML

innerHTML 属性用于获取或设置元素的 HTML 内容。如果将其设置为一个新的字符串,则会替换掉原有的 HTML 内容。

示例:

<!-- HTML 代码 -->
<div id="box">This is a box.</div>
// JavaScript 代码
const box = document.getElementById('box');
console.log(box.innerHTML); // This is a box.
box.innerHTML = 'Hello, world!';
console.log(box.innerHTML); // Hello, world!

setAttribute()

setAttribute(name, value) 方法用于给元素设置一个属性和属性值。如果该属性已经存在,则会替换原来的值。

示例:

<!-- HTML 代码 -->
<img id="avatar" alt="avatar" src="/default.jpg">
// JavaScript 代码
const avatar = document.getElementById('avatar');
avatar.setAttribute('src', '/myavatar.jpg');

getAttribute()

getAttribute(name) 方法用于获取元素的指定属性值。如果该属性不存在,则会返回 null。

示例:

<!-- HTML 代码 -->
<img id="avatar" alt="avatar" src="/default.jpg">
// JavaScript 代码
const avatar = document.getElementById('avatar');
console.log(avatar.getAttribute('src')); // /default.jpg

3. 创建和修改元素

createElement()

createElement(tagName) 方法用于创建一个新的元素节点,返回值是一个 Element 类型的对象。

示例:

// JavaScript 代码
const p = document.createElement('p');
p.innerHTML = 'Hello, world!';
document.body.appendChild(p);

appendChild()

appendChild(child) 方法用于在指定元素的末尾插入一个新的子元素。

示例:

<!-- HTML 代码 -->
<div id="box">This is a box.</div>
// JavaScript 代码
const text = document.createElement('p');
text.innerHTML = 'Hello, world!';
const box = document.getElementById('box');
box.appendChild(text);

以上是 DOM 基本方法的详细讲解。通过这些基本方法,我们可以灵活地操作网页的元素,完成各种动态的效果和功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:DOM 基本方法 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript DOM事件(笔记)

    让我来详细讲解一下“JavaScript DOM事件(笔记)”的完整攻略。 JavaScript DOM事件(笔记) JavaScript DOM事件是处理网页中用户操作的重要方式。当用户与网页交互时,通常需要对用户事件进行响应,可以是通过点击按钮,拖拽元素,滚动滑动条等等。在这些情况下,处理函数将通过各种类型的事件被触发。在本文中,我们将讨论如何使用add…

    JavaScript 2023年6月10日
    00
  • JS简单设置下拉选择框默认值的方法

    下面是JS简单设置下拉选择框默认值的方法的完整攻略。 确定下拉选择框的id 首先,需要确定下拉选择框的id属性值,以便在JavaScript中选择该元素对象。下拉选择框的id属性值一般通过HTML中的id属性指定。例如: <select id="color"> <option value="red"&…

    JavaScript 2023年6月11日
    00
  • Ajax 数据请求的简单分析

    下面我将为你详细讲解“Ajax 数据请求的简单分析”的完整攻略。 什么是Ajax Ajax即Asynchronous JavaScript and XML。它是利用JS和XML进行异步通信技术的一种方法。 当我们在浏览器中访问网页时,通常情况下需要向服务器请求数据,服务器通过传统的方式返回数据并展示在浏览器上。而使用Ajax技术,可以在不重新加载整个网页的情…

    JavaScript 2023年6月11日
    00
  • 深入了解JavaScript词法作用域

    深入了解JavaScript词法作用域 什么是词法作用域? 词法作用域指的是变量的作用域是在代码中定义时就确定的,而不是在运行时确定。JavaScript采用的是词法作用域,也就是静态作用域。 当在代码中执行变量引用时,JavaScript引擎会根据词法作用域(也就是代码中定义的位置)来决定该变量的值。 在JavaScript中,变量有两种:全局变量和局部变…

    JavaScript 2023年6月10日
    00
  • setTimeout时间设置为0详细解析

    setTimeout时间设置为0详细解析 什么是setTimeout? setTimeout是JavaScript的一个函数,它可以用来在一定延迟后执行一个函数。 语法如下: setTimeout(function, delay, arg1, arg2, …) 其中, function是要执行的回调函数。 delay是延迟的毫秒数,表示多长时间后执行回调…

    JavaScript 2023年5月28日
    00
  • js数组操作方法总结(必看篇)

    那么我将对js数组操作方法总结给出一个详细的攻略。 js数组操作方法总结(必看篇) JavaScript中的数组(Array)是一种特殊的对象,它可以存储任意类型的数据。数组提供了一系列的方法,用于对其进行操作。下面是一些常用的js数组操作方法: 1. 创建数组 用JavaScript创建数组的方法很简单,可以使用中括号[],并用逗号隔开每个元素。示例如下:…

    JavaScript 2023年5月27日
    00
  • javascript简单写的判断电话号码实例

    下面是针对“javascript简单写的判断电话号码实例”的完整攻略和示例说明: 为什么需要对电话号码进行判断 电话号码是一种十分重要的个人信息,用来方便和他人联系沟通。为了确保安全及防止诈骗行为,正确判断电话号码非常重要。因此,许多网站和应用程序需要对用户输入的手机号进行有效性验证和格式化处理。为了解决这个问题,我们可以使用JavaScript编写一些代码…

    JavaScript 2023年6月10日
    00
  • 浅谈JS如何实现真正的对象常量

    好的。我们先来解释一下什么是对象常量。对象常量是一种不可变对象,即其属性不可被修改。在 JavaScript 中,没有内置的对象常量实现方式,但可以通过一些技巧来实现。 具体而言,我们可以使用 Object.freeze() 函数来冻结对象。Object.freeze() 方法可以冻结对象的属性,即使它们是对象本身的属性也无法修改。在这个过程中,对象上的所有…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部