DOM 基本方法

yizhihongxing

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事件冒泡简单示例

    下面就来详细讲解 “JavaScript 事件冒泡简单示例” 的完整攻略。 什么是事件冒泡? 事件冒泡是指当一个元素上的事件被触发时,该事件将会从被点击的元素一直向上冒泡到祖先节点直至到达文档根节点。 举个例子,假如你在一个文档中单击了一个按钮,那么事件会以如下顺序传递: 单击按钮。 按钮触发 click 事件。 事件开始在按钮上触发并向上传播到父元素,然后…

    JavaScript 2023年6月10日
    00
  • 用json方式实现在 js 中建立一个map

    在 Javascript 中建立一个 Map,在较早版本的 Javascript 中是无法直接实现的,但我们可以使用 JSON 格式实现一个类似 Map 的数据结构。 具体实现过程: 首先定义一个 JSON 对象来表示 Map,将每个键值对当作 JSON 对象的一个属性,键作为属性名,值作为属性值。例如,要建立一个键为 “key1″,值为 1 的 Map: …

    JavaScript 2023年5月27日
    00
  • 使用 JavaScript 制作页面效果

    下面是使用 JavaScript 制作页面效果的完整攻略及两个示例说明。 使用 JavaScript 制作页面效果攻略 步骤一:编写 HTML 结构 首先,需要在 HTML 文件中编写好需要添加效果的页面结构。无论是添加动态效果还是交互效果,都需要在 HTML 结构中做好必要的准备工作。可以使用类名、ID 等属性对需要操作的元素进行标记,方便后续在 Java…

    JavaScript 2023年6月10日
    00
  • JavaScript设计模式—单例模式详解【四种基本形式】

    JavaScript设计模式—单例模式详解【四种基本形式】 单例模式是一种常用的设计模式,它是指在整个应用程序中只需要实例化一次的类。在JavaScript中,单例模式具有着特殊的意义。因为JavaScript是一种无状态语言,每次请求网页都会加载一次JavaScript文件,如果我们没使用单例模式来管理,可能会在内存中生成多个对象实例,造成资源的浪费,…

    JavaScript 2023年6月10日
    00
  • JavaScript 跨域之POST实现方法

    下面是详细讲解“JavaScript 跨域之POST实现方法”的完整攻略。 什么是跨域? 跨域是指在同一页面中,页面中的资源通过不同的域名来访问。比如,你的页面在 A 域名,但是想要访问 B 域名上的资源,这就是跨域。 常见的跨域问题 Ajax 跨域请求 iframe 跨域嵌套 脚本跨域请求 解决方法 跨域问题的解决方法有很多,这里重点介绍两种解决 Ajax…

    JavaScript 2023年5月27日
    00
  • javascript获取系统当前时间的方法

    获取系统当前时间是JavaScript常见的操作之一,可以使用JavaScript内置的Date对象实现。下面是获取系统当前时间的方法攻略: 1.使用 Date 对象 创建 Date 对象后,我们可以通过调用其方法来获取相应的时间信息。 const now = new Date(); //创建一个 Date 对象 const year = now.getFu…

    JavaScript 2023年5月27日
    00
  • Javascript中产生固定结果的函数优化技巧

    当我们在编写JavaScript中的函数时,我们有时候需要函数能够返回对于特定输入的相同结果。这种类型的函数被称为Pure Function。Pure Function的一个重要特性是对于相同的输入,产生相同的输出。这使得测试和调试变得更加容易,并且减少不必要的副作用。 在本篇攻略中,我们将讨论如何优化JavaScript中的Pure Function,使其…

    JavaScript 2023年5月27日
    00
  • Javascript Date getUTCMonth() 方法

    JavaScript 中的 getUTCMonth() 方法用于获取 UTC 时间的月份部分。在本教程中,我们将详细介绍 getUTCMonth() 方法的使用方法。 getUTCMonth() 方法的基本语法如下: date.getUTCMonth() 其中,date 是获取月份部分的 UTC 日期对象。 以下两个示例说明: 示例一:使用 getUTCMo…

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