JavaScript 与 DOM 交互

简介: 【9月更文挑战第01天】

操作 HTML 元素:JavaScript 与 DOM 交互

JavaScript 提供了强大的功能来操作 HTML 文档,这主要通过文档对象模型(DOM)实现。DOM 是 HTML 文档的编程接口,它将页面上的元素表示为对象,允许JavaScript动态地访问和操作它们。

选择元素

在操作元素之前,首先需要选择它们。以下是几种常见的选择元素的方法:

  • document.getElementById(id): 通过元素的ID选择元素。
  • document.getElementsByTagName(name): 根据标签名选择元素集合。
  • document.getElementsByClassName(name): 根据类名选择元素集合。
  • document.querySelector(selector): 使用CSS选择器返回文档中匹配的第一个元素。
  • document.querySelectorAll(selector): 使用CSS选择器返回所有匹配的元素集合。

操作元素

一旦选择了元素,就可以对它们执行各种操作:

  1. 更改内容:

    • element.innerHTML: 获取或设置元素的HTML内容。
    • element.textContent: 获取或设置元素的文本内容。
  2. 样式操作:

    • element.style.property: 直接设置内联样式。
  3. 属性操作:

    • element.getAttribute(name): 获取元素的属性值。
    • element.setAttribute(name, value): 设置元素的属性值。
    • element.removeAttribute(name): 移除元素的属性。
  4. 事件监听:

    • element.addEventListener(type, listener): 为元素添加事件监听器。
  5. 尺寸和布局:

    • element.offsetWidthelement.offsetHeight: 获取元素的布局尺寸(包括边框和内边距)。
    • element.clientWidthelement.clientHeight: 获取元素的宽度和高度(不包括垂直滚动条)。
  6. 类操作:

    • element.classList.add(name): 向元素添加类。
    • element.classList.remove(name): 从元素移除类。
    • element.classList.toggle(name): 切换元素的类。

代码示例

以下是一个示例,展示了如何使用JavaScript操作HTML元素:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>操作 HTML 元素示例</title>
    <style>
        .highlight {
    
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div id="myDiv">Hello, World!</div>
    <button id="changeTextBtn">更改文本</button>
    <button id="changeStyleBtn">更改样式</button>
    <button id="addClassBtn">添加类</button>
    <script>
        // 选择元素
        var myDiv = document.getElementById('myDiv');
        var changeTextBtn = document.getElementById('changeTextBtn');
        var changeStyleBtn = document.getElementById('changeStyleBtn');
        var addClassBtn = document.getElementById('addClassBtn');

        // 更改文本内容
        changeTextBtn.addEventListener('click', function() {
    
            myDiv.textContent = '文本已更改!';
        });

        // 更改样式
        changeStyleBtn.addEventListener('click', function() {
    
            myDiv.style.color = 'red';
            myDiv.style.fontSize = '20px';
        });

        // 添加类
        addClassBtn.addEventListener('click', function() {
    
            myDiv.classList.add('highlight');
        });
    </script>
</body>
</html>

在这个示例中,我们有一个 div 元素和三个按钮。点击这些按钮将分别更改 div 的文本内容、样式和类。

目录
相关文章
|
3月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
1月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
297 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
2月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
2月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
78 5
|
2月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
68 4
|
2月前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
2月前
|
设计模式 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用JavaScript,打造智能交互体验!
【10月更文挑战第30天】前端开发领域充满了无限可能与创意,JavaScript作为核心语言,凭借强大的功能和灵活性,成为打造智能交互体验的重要工具。本文介绍前端大牛如何利用JavaScript实现平滑滚动、复杂动画、实时数据更新和智能表单验证等效果,展示了JavaScript的多样性和强大能力。
87 4
|
3月前
|
存储 JavaScript 前端开发
【JavaScript】网页交互的灵魂舞者
本文介绍了 JavaScript 的三种引入方式(行内、内部、外部)和基础语法,包括变量、数据类型、运算符、数组、函数和对象等内容。同时,文章还详细讲解了 jQuery 的基本语法和常用方法,如 `text()`、`html()`、`val()`、`attr()` 和 `css()` 等,以及如何插入和删除元素。通过示例代码和图解,帮助读者更好地理解和应用这些知识。
51 1
【JavaScript】网页交互的灵魂舞者
|
3月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
109 4
|
3月前
|
JavaScript 前端开发 容器
js之dom学习
js之dom学习
73 0