JavaScript - Document文档操作

1. 前言

​​​​​​​

编写网页时,我们需要时刻操作文档进而完成我们想要的效果。这就是通过文档对象模型实现,使用Document对象控制HTML以及样式信息的API

2. Document的树结构

在了解Document文档对象模型之前,我们先了解Dom的树结构

这幅图可以清楚的知道树结构各个部分代表什么

熟悉每个标签之间的关系对于我们阅读函数以及自定义话操作帮助很大

3. 相关操作

3.1 获取对象

• 获取匹配文档中第一个出现<>的标签

Document.querySelector(); 

• 获取匹配文档中对应Id的标签

Document.getElementById(); 

• 获取所有对应类型的标签,以列表的形式返回

Document.getElementsByTagName(); 

3.2 修改

获取对应的标签之后可以对应修改标签中的元素内容

link = document.querySelector(‘a’);

link.textContent = ‘Hello World’; 修改标签中的文本信息

link.href = ‘https://www.www.com’; 修改链接信息

link.value = ‘xxx’; 修改按钮显示值

       

3.3 创建放置新节点

•创建一个新的标签

Document.createElement(‘标签类别’); 

•在某一标签节点之后增加子节点标签

Node.appendChild(); 

•创建一个文本节点

Document.createTextNode(‘文本内容’);

3.4 移动与删除

•将某一标签移动至另一标签处,直接使用appendChild

并不会产生副本,而是将原有标签移到Node的子集处

Node.appendChild(目标标签); 

•创建副本

Node.cloneNode(目标标签);

•删除子标签

Node.removeChild(); 

•删除自身引用的节点

Node.remove(); 将Node删除

或者

Node.parentNode.removeChild(Node);

 删除自己父节点的子节点中自己的标签

4. 操作CSS

常用的有两种方式通过document操控HTML文件中的CSS样式

4.1 直接使用内联样式添加至元素上

Node.style.color = ‘’;Node.style.backgroundColor = ‘’;Node.style.padding = ‘’;Node.style.width = ‘’;

*Javascript中对CSS样式是使用小驼峰命名,CSS中使用’-’分割

4.2 通过类的方式创建

CSS:

<style>.highlight{Color:white;Background-color:black;}</style>

Javascript:

Node.setAttribute(‘class’,’highlight’);

该函数接受两个方法,想再元素上设置的属性,以及对应的值

为Node标签设置名为hightlight的类

5. 一个交互式动态购物车网页

<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Shopping list example</title><style>li {margin-bottom: 10px;}li button {font-size: 12px;margin-left: 20px;color: #666;}</style></head><body><h1>My shopping list</h1><div><label for="item">Enter a new item:</label><input type="text" name="item" id="item"><button onclick="actionTobutton()">Add item</button></div><ul></ul><script>const web_url = document.querySelector('ul');const button_a = document.querySelector('button');const input_a = document.querySelector('input');function actionTobutton() //事件如果处理了,创建在文本之后持续有效{let a = input_a.value;input_a.value = '';const good_list = document.createElement('li');const good_span = document.createElement('span');const good_button = document.createElement('button');good_span.textContent = a;good_button.textContent = 'Delete';good_list.appendChild(good_span);good_list.appendChild(good_button);web_url.appendChild(good_list);good_button.addEventListener('click',()=>{web_url.removeChild(good_list)});Input.focus(); //聚焦在什么标签上}</script></body></html>

6. 参考资料

MDN Web Docs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145596.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

pg入门1——使用容器启动一个pg

1. 下载pg镜像 地址&#xff1a; https://hub.docker.com/r/bitnami/postgresql 下载镜像&#xff1a; docker pull bitnami/postgresql:16.3-alpine3.20 2. 运行镜像 docker run -e POSTGRES_PASSWORDAb123456! -d bitnami/postgresql:16.3-alpine3.20 3. 查看、进入容…

如何使用VMware安装Linux操作系统

使用VMware安装Linux操作系统。以Cont OS为例进行说明。 准备工作&#xff1a; 下载并安装VMware&#xff1a; 下载地址&#xff1a;https://support.broadcom.com/ 下载好VMware&#xff0c;就是吧下载好的VMware安装&#xff0c;只需要“下一步”就行&#xff0c;只是到路径…

惠海H6118 DC-DC 降压恒流芯片30V36v40V48V降12V9V24V36V 1.2A大电流 调光降压芯片IC舞台灯

H6118是一款连续电感电流导通模式的降压型LED恒流驱动器&#xff0c;用于驱动一个或多个LED灯串。H6118工作电压从4V到30V&#xff0c;提供可调的输出电流&#xff0c;最大输出电流可达到1.2A。 H6118内置功率开关管&#xff0c;采用高端电流检测电路&#xff0c;支持PWM模式调…

即时通讯框架MobileIMSDK的H5端开发快速入门

► 相关链接&#xff1a; ① MobileIMSDK-H5端的详细介绍② MobileIMSDK-H5端的开发手册new&#xff08;* 精编PDF版&#xff09; 一、技术准备 您是否已对Web端即时通讯技术有所了解&#xff1f; 1&#xff09;新手入门贴&#xff1a;史上最全Web端即时通讯技术原理详解2&…

提前解锁 Vue 3.5 的新特性

Vue 3.5 是 Vue.js 新发布的版本&#xff0c;虽然没有引入重大变更&#xff0c;但带来了许多实用的增强功能、内部优化和性能改进。 1. 响应式系统优化 Vue 3.5 进一步优化了响应式系统的性能&#xff0c;并且减少内存占用。尤其在处理大型或深度嵌套的响应式数组时&#xff…

【论文阅读】Grounding Language with Visual Affordances over Unstructured Data

Abstract 最近的研究表明&#xff0c;大型语言模型&#xff08;llms&#xff09;可以应用于将自然语言应用于各种各样的机器人技能。然而&#xff0c;在实践中&#xff0c;学习多任务、语言条件机器人技能通常需要大规模的数据收集和频繁的人为干预来重置环境或帮助纠正当前的…

unix中如何查询和修改进程的资源限制

一、前言 一个进程在运行时&#xff0c;会用到各种资源&#xff0c;比如cpu的使用时间、内存空间、文件等等。那么&#xff0c;一个进程能够占用多少资源呢&#xff1f;cpu使用的时间有多长&#xff1f;进程空间有多大&#xff1f;能够创建多少个文件&#xff1f;这个就是本文…

【数据结构】设有一带头结点的单链表,编程将链表颠倒过来。要求不用另外的数 组或结点完成。

编程题: 设有一带头结点的单链表,编程将链表颠倒过来。要求不用另外的数 组或结点完成。 分析: 该算法通过维护三个指针(prev、curr 和 next)逐步遍历单链表,实现链表的逆转。在遍历过程中,curr 的 next 指针被更新为指向 prev,逐步反转指向。最终,头结点的 next 指针…

用户态缓存:高效数据交互与性能优化

目录 1. 用户态缓存区工作背景 1.1 为什么每条连接都需要读写缓存区 1.1.1 读缓存区&#xff08;Read Buffer&#xff09; 1.1.2 写缓存区&#xff08;Write Buffer&#xff09; 1.2 用户态缓存区的工作流程 1.3 用户态缓存区的重要性 2. UDP 和 TCP 的设计差异 2.1 UD…

Python模块和包:标准库模块(os, sys, datetime, math等)②

文章目录 一、os 模块1.1 获取当前工作目录1.2 列出目录内容1.3 创建和删除目录1.4 文件和目录操作 二、sys 模块2.1 获取命令行参数2.2 退出程序2.3 获取 Python 版本信息 三、datetime 模块3.1 获取当前日期和时间3.2 日期和时间的格式化3.3 日期和时间的运算 四、math 模块4…

私有化聊天软件成为企业内部通讯新趋势

在数字化转型浪潮的推动下&#xff0c;企业对于高效、安全、灵活的内部通讯需求日益增长。传统的电子邮件、电话会议等沟通方式已难以满足现代企业对即时性、协作性和信息安全性的要求。因此&#xff0c;私有化聊天工具作为企业内部通讯的定制化解决方案&#xff0c;正逐渐成为…

我的数据库第一课:从懵懂到启迪

我的数据库第一课&#xff1a;从懵懂到启迪 前言 在数字化浪潮席卷全球的今天&#xff0c;数据库作为IT技术的“活化石”&#xff0c;已经成为不可或缺的基础设施。特别是在国内&#xff0c;随着经济的飞速发展和信息化建设的推进&#xff0c;数据库技术也经历了从无到有、从…

企业微信用户授权与校验完整对接流程

Hello&#xff01;欢迎各位新老朋友来看小弟博客&#xff0c;祝大家事业顺利&#xff0c;财源广进&#xff01;&#xff01; 主题&#xff1a;企业微信用户授权与校验完整对接流程 一&#xff1a;构造第三方应用授权链接 如果第三方应用需要在打开的网页里面携带用户的身份信息…

解锁数字转型新纪元:Vatee万腾平台,您的智能加速与策略智库

在数字经济时代的大潮中&#xff0c;企业的数字化转型已不再是选择题&#xff0c;而是必答题。面对这一挑战&#xff0c;Vatee万腾平台以其卓越的技术实力和前瞻性的战略视野&#xff0c;成为了众多企业加速数字化转型、实现智能化升级的得力助手和智囊团。 加速转型&#xff…

个人量化成功之路-----用代码一键画图Donchian Channel(唐奇安通道指标)

Donchian Channel&#xff08;唐奇安通道指标&#xff09;是用于交易突破的最古老、最简单的技术指标之一。是由Richard Donchian 提出的一个由三条线&#xff08;上阻力线、下支撑线、中心线&#xff09;组成的通道指标。 一般来说&#xff0c;唐奇安通道的宽度越宽&#xff0…

ISSCC34.7解析一种具备内存编码与刷新功能的eDRAM查找表数字存内计算芯片

一、引言 1. DCIM概述 数字存内计算&#xff08;Digital Computing-in-Memory, DCIM&#xff09;是一种将计算操作直接集成到存储单元中的新兴计算架构。传统计算模型&#xff08;冯诺依曼架构&#xff09;中的计算和存储是分离的&#xff0c;数据必须频繁在存储器和处理单元…

FastDFS的docker部署及实现头像上传

FastDFS的使用并实现头像上传 一、FastDFS概述二、安装FastDFS1. 拉取镜像2. 安装tracker3. 安装storage4. NGINX服务启动三、配置和依赖配置依赖四、头像上传一、FastDFS概述 概述 上传交互过程 两个服务:Tracker Server 和Storage Server Tracker Server 跟踪服务,负责调…

UNRAID系统忘记密码解决办法

前言 unraid系统自己通过命令修改密码以后&#xff0c;怎么也进不去了。 这次带来如何重置密码 操作

着色器 简介

着色器&#xff08;Shader&#xff09;是运行在 GPU 上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说&#xff0c;着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序&#xff0c;因为它们之间不能相互通信&#xff1b;它们之间…

C语言进阶【5】---数据在内存中的存储【2】(小数存储很难吗?)

本章概述 本章引要练习 浮点数的存储浮点数的取出小补充题目解析彩蛋时刻&#xff01;&#xff01;&#xff01; 本章引要 常见的浮点数&#xff1a;3.1415&#xff0c;1E10等。其中&#xff0c;1E10是科学计数法的形式&#xff0c;它也就等于1*10^10。小数数据类型&#xff1…