【JavaScript】DOM编程

目录

一、什么是DOM编程

二、获取DOM树上的元素结点

1.直接获取

2.间接获取

三、操作获取到的DOM元素结点

1.操作元素的属性

2.操作元素的行内样式

3.操作元素中间的文本

四、增删DOM元素结点


一、什么是DOM编程

开发人员写好的网页文件在生产环境中是需要部署在Web服务器上的。用户通过在浏览器上输入URL地址来请求获取企业Web服务器上已经部署好的html文件,企业Web服务器收到用户的请求后会把用户请求的html文档发给用户电脑上的浏览器。浏览器收到html文档后会将其文件内容加载到用户电脑本地的内存中,并以document对象变量的形式来实时解析同步document对象所指内存中的html文档内容。用户可以在浏览器上打开开发者工具(F12)找到元素(Element)菜单项来查看并修改浏览器获取解析的document对象内存里的html文档内容;document对象内存中的html内容一旦被修改,用户浏览器上显示的网页内容也会跟着发生变化,而部署在企业Web服务器上的html网页文件内容不会发生任何改变。

DOM编程就是通过使用window对象中的document属性对象的方法来修改用户浏览器document对象内存中的html内容(Dom树结点),来实现针对不同用户其浏览器上显示的网页内容动态调整的效果。

 

二、获取DOM树上的元素结点

1.直接获取

var el1=window.document.getElementById("username")  //根据ID获取目标元素

var els1=document.getElementsByTagName("input")     //根据标签名获取多个元素

var els2=document.getElementsByName("texta")        //根据name属性值获取多个元素

var els3=document.getElementsByClassName("a")       //根据class属性值获取多个元素

2.间接获取

var els4=div1.children     //通过父元素获取其下所有子元素集合

var fElement=div1.firstElementChild     //通过父元素获取其下首个子元素

var nElement=div1.lastElementChild     //通过父元素获取其下最后一个子元素

var pElement=username.parentElement    //通过子元素获取其父元素

var equlUpElement=textb.previousElementSibling  //获取当前元素的前趋元素

var equlNextElement=textb.nextElementSibling   //获取当前元素的后继元素

三、操作获取到的DOM元素结点

1.操作元素的属性

语法:元素名.属性名='值'

2.操作元素的行内样式

语法:元素名.style.样式名='值'

注意:css中带"-"符号的样式名需要写成小驼峰命名,如" background-color转换成backgroundColor"

3.操作元素中间的文本

         语法:①元素名.innerText='值',不识别html标签,只是单纯的修改文本的内容。②元素名.innerHTML='值',识别html标签。

四、增删DOM元素结点

  • var elementNode=document.createElement("元素名")   //创建元素结点
  • 父元素.appendChild(元素结点)   //在父元素中追加子元素
  • 父元素.insertBefore(新元素,参照元素)     //在父元素中的某个子元素前插入前驱元素
  • 父元素.replaceChild(新元素,要被替换的元素)     //用新元素替换父元素中的某个子元素
  • 元素.remove()  //删除当前元素

@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教! 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为OD机试 - 掌握单词个数(Java 2024 D卷 100分)

华为OD机试 2024D卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(D卷C卷A卷B卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测…

旧衣回收小程序开发:回收市场的新机遇

当下,旧衣服回收已经成为了一种流行趋势,居民都将闲置的衣物进行回收,旧衣回收市场规模在不断增加。随着市场规模的扩大,为了让居民更加便利地进行回收,线上回收小程序也应运而生,为大众打造了一个线上回收…

彻底删除git中的某个文件(包括历史提交记录)

# 加入要删除example.txt git filter-branch --force --index-filter git rm --cached --ignore-unmatch example.txt --prune-empty --tag-name-filter cat -- --all官网https://git-scm.com/docs/git-filter-branch已经不建议用git filter-branch,而建议用 git fi…

P8676 [蓝桥杯 2018 国 A] 自描述序列 题解

参考文章 题意 题目表述的很清楚 思路 #1 暴力枚举 根据题目给出的规律,很容易用 O ( n ) O(n) O(n) 的时间求出 1 0 6 10^6 106 的数据,这样就可以得到 30 30 30 分。 显然,这种方法是不对的,我们在上面进行优化。 #2 …

tldraw白板组件

tldraw 是一个开源的白板组件&#xff0c;10行代码就可以将其接入到 React 项目中&#xff1a; import { Tldraw } from tldraw import tldraw/tldraw.cssexport default function App() {return (<div style{{ position: fixed, inset: 0 }}><Tldraw /></div&…

u盘插到另一台电脑上数据丢失怎么办?提供实用的解决方案

在现代数字化生活中&#xff0c;U盘作为一种便携式存储设备&#xff0c;承载着我们重要的数据和信息。然而&#xff0c;有时当我们将U盘插入另一台电脑时&#xff0c;可能会遇到数据丢失的棘手问题。这可能是由于多种原因造成的&#xff0c;那么&#xff0c;U盘插到另一台电脑上…

多账号注册的原理是什么

多账号注册的原理主要基于自动化脚本或软件&#xff0c;通过模拟人工操作来实现大量账号的自动注册。这一过程涉及多个关键步骤和原理&#xff0c;下面将详细解释&#xff1a; 一、网络请求分析 多账号注册的第一步是分析目标网站或应用程序的注册接口。这通常通过使用抓包工…

大数据面试题之HDFS

目录 HDFS文件写入和读取流程 HDFS组成架构 介绍下HDFS&#xff0c;说下HDFS优缺点&#xff0c;以及使用场景 HDFS作用 HDFS的容错机制 HDFS的存储机制 HDFS的副本机制 HDFS的常见数据格式&#xff0c;列式存储格式和行存储格式异同点&#xff0c;列式存储优点有哪些? …

虚拟化技术(一)

目录 一、虚拟化技术简介二、服务器虚拟化&#xff08;一&#xff09;服务器虚拟化的层次&#xff08;二&#xff09;服务器虚拟化的底层实现&#xff08;三&#xff09;虚拟机迁移&#xff08;四&#xff09;隔离技术&#xff08;五&#xff09;案例分析 一、虚拟化技术简介 虚…

ubuntu中共享文件夹看不到了,解决方法

1、检查共享文件夹配置 2、创建 3、查看共享文件夹 4、另一问题&#xff0c;每次重启虚拟机后&#xff0c;共享文件夹又没了&#xff1f;

尚玩助手短视频看广告任务模式app开发

尚玩助手短视频APP的开发涉及多个关键步骤和考虑因素&#xff0c;以下是其开发的主要步骤和要点&#xff1a; 需求分析和规划&#xff1a; 确定目标用户群体和市场定位。 收集和分析竞争对手的数据和特点&#xff0c;了解市场上已有的短视频APP的优缺点。 确定尚玩助手短视频…

数据库索引与事务

数据库索引与事务 索引 概念 一个排序的列表&#xff0c;为了实现对表的快速查询&#xff08;类似于目录&#xff09;&#xff0c;把一个列作为索引。 对于有序的列表&#xff0c;就可以使用二分法进行快速查询&#xff0c;也叫B树查询。 如果没有索引&#xff0c;那么就会遍历…

kerberos认证:生成keytab文件并实现java代码用keytab登录hadoop集群

Kerberos介绍&#xff1a; Kerberos 是一种网络认证协议&#xff0c;用于在不安全的网络中以安全的方式对用户和服务进行身份验证。它通过使用密钥加密技术来防止数据被窃听或篡改&#xff0c;确保了认证过程的安全性。Kerberos 认证的主要特点包括&#xff1a; 票据&#xff…

Git->git pull 和 git pull --rebase的详解

Git拉取代码的坑 格式&#xff1a;git xx指令 origin/远程仓库分支名称假如本地仓库和远程仓库都是空的 本地仓库向远程仓库提交一个文件 git commit -a -m "local first commit"&#xff1a;-a暂存修改文件到暂存区&#xff0c;准备本地提交。-m表示提交信息git pu…

常微分方程算法之编程示例五(阿当姆斯法)

目录 一、研究问题 二、C代码 三、计算结果 一、研究问题 本节我们采用阿当姆斯法&#xff08;Adams法&#xff09;求解算例。 阿当姆斯法的原理及推导请参考&#xff1a; 常微分方程算法之阿当姆斯法&#xff08;Adams法&#xff09;_四步四阶adams显格式;三步四阶adams隐…

云计算运维工程师面试

1. 云计算运维工程师的角色和职责是什么? 回答: 云计算运维工程师负责确保云计算环境(包括硬件和软件系统)的高可用性和稳定性。他们的主要职责包括: 监测系统和应用程序的性能,确保它们正常运行。故障排除,快速响应并解决系统或应用程序中出现的问题。容量规划,根据…

10.二次开发——黑马程序员Java最新AI+若依框架项目

目录 前言零、使用若依修改器修改项目名称一、创建sky-merchant模块1.创建模块2. 在新模块中导入依赖3. 父工程锁定版本4. sky-admin 导入依赖 二、菜品管理页面生成1.根据页面原型&#xff0c;确定表信息2.设计表3使用代码生成器生成页面4&#xff0c;下载tb_dish代码并分别导…

Matlab|【免费】含氢气氨气综合能源系统优化调度

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序参考《_基于氨储能技术的电转氨耦合风–光–火综合能源系统双层优化调度》模型&#xff0c;对制氨工厂、风力发电、电制氢、燃气轮机、火电机组等主体进行建模分析&#xff0c;以火电机组启停成本、煤耗…

VS Code修改菜单栏字体大小

修改方法 打开VS Code&#xff0c;快捷键 CtrlShiftP&#xff0c;在弹出的输入框中输入 setting&#xff0c;找到带有JSON的一项&#xff0c;如图所示&#xff1a; 原文链接 window.zoomLevel 前后变化 终端字体大小 File -> Preferences -> Settings -> Features…

用Hugging Face Transformers,高效部署:多显卡量化感知训练并转换为ONNX格式的多标签分类模型

文章目录 环境准备数据准备数据集定义模型定义多显卡训练模型保存与 ONNX 转换验证 ONNX 模型部署到移动设备 要在多显卡上进行量化感知训练&#xff08;QAT&#xff09;&#xff0c;然后将量化后的模型转换为 ONNX 格式并部署到移动设备&#xff0c;可以按照以下步骤进行&…