JavaScript (WebAPI)

news2024/11/19 15:22:26

目录

一、DOM

1. DOM树结构:

2. 重要概念 

3. DOM 的工作流程

二、获取/操作元素

1. 获取

① 获取单个元素 

② 获取所有元素

2. 操作

1. 获取/修改元素内容

3. 案例

三、新增元素

1. 创建元素节点

2. 插入节点到 DOM树

四、删除元素


一、DOM

 DOM 全称为 Document Object Model  (文件对象模型),而一个页面的结构是一个树形模型,我们也称之为 DOM树

1. DOM树结构:

2. 重要概念 

  • 事件: 用户针对浏览器的操作就会产生事件. 
  • 文档: 一个页面就是一个 文档, 使用 document 表示. 
  • 元素: 页面中所有的标签都称为 元素. 使用 element 表示. 
  • 节点: 网页中所有的内容都可以称为 节点(标签节点, 注释节点, 文本节点, 属性节点等). 使用 node 表示. 

3. DOM 的工作流程

①代码读取到内存
②生成 DOM树  (dom语法增删改查,渲染也会跟着改变)
③渲染 DOM树

二、获取/操作元素

1. 获取

① 获取单个元素 

document.querySelector(‘选择器’);
功能:根据选择器查询满足条件的第一个元素
return:DOM对象  或者 null (选择写错)

② 获取所有元素

document.querySelectorAll(‘选择器’);
功能:根据选择器查询满足条件所有元素
return: 一定会返回伪数组 (数组可能为null :选择器写错)

什么是伪数组:只有数组三要素(元素,下标,长度),没有数组方法

2. 操作

1. 获取/修改元素内容

① Element.innerText 

表示一个节点及其后代的“渲染”文本内容  (读取的结果不保留html源码中的 换行和空格)

② Element.innerHTML

HTML语法表示的元素元素后代,可以是本文/标题...... (读取的结果保留html源码中的 换行和空格)

3. 案例

 querySelector / innerText / innerHTML的使用

<body>
    <div id='a'>
        <div id='b'>你好!</div>
    </div>
</body>
<script>
    // a就是quertSelector获取到的内容
    let a = document.querySelector('#a');
    console.log(a)//element类型
    console.log(a.innerText)
    console.log(a.innerHTML)//String类型
</script>

button按钮点击案例

    <input type="text" id="text" value="0">
    <input type="button" id="btn" value="点击+1">
    <script>
        let text = document.querySelector("#text");
        let btn = document.querySelector("#btn");
        btn.onclick = function(){
            let num = text.value;
            num++;
            text.value = num;
            //text.value=text.value+1; 这样会按照字符串想加的方式,不能这样写
        }
    </script>

三、新增元素

1. 创建元素节点

使用 createElement 创建一个元素

let element = document.creatElement('div');
div.id = 'mydiv';
div.className = 'box';
div.innerHTML = 'hehe';

2. 插入节点到 DOM树

①使用 appendChild 将节点插入到指定节点的最后一个孩子处

element.appendChild(aChild);

②使用 insertBefore 将节点插入到指定节点之前

let insertBefore = parentNod.insertBefore(newNode,referenceNode)
// insertBefore :是被插入节点(newNode)
// parentNode :新插入节点的父节点
// newNode :用于插入的节点
// referenceNode :newNode将要插在referenceNode节点之前

四、删除元素

使用 removeChild 删除子节点

oldChile = element.removeChile(child);
// child :待删除的节点
// element:child的父节点
// oldChile:是返回值 也就是chile这个节点
// 如果child不是element的子节点的话会抛出异常

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

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

相关文章

Photoshop简单案例(8)——利用文字工具修改图片上文字

目录一、项目介绍二、原图上有要替换的文字2.1 方法1——利用修补工具修改2.2 方法2——利用移动工具&#xff08;推荐&#xff09;2.3 效果演示三、原图上没有要替换的文字一、项目介绍 本文介绍利用PhotoShop修改图片上的文字。修改下图图片中的学号。 二、原图上有要替换…

【HBU】2022秋线上作业-第五次-有关树的判断选择

判断题&#xff1a; 1. 一棵有124个结点的完全二叉树&#xff0c;其叶结点个数是确定的。 √ 高度为n的完全二叉树的结点数为2ⁿ-1 124位于64-1~128-1之间&#xff0c;所以这棵树的高度是7&#xff0c;前六层是满的有63个&#xff0c;第7层有124-6361个 64-613 第6层有…

使用Electron打包React项目

1、下载Electron Electron中文官网地址&#xff1a;https://www.electronjs.org/zh/docs/latest/ Electron下载如果单纯使用npm的话&#xff0c;会出现n多问题 所以建议使用国内的淘宝镜像 npm config set registry https://registry.npmmirror.com/然后下载 cnpm install -…

LeetCode 81. 搜索旋转排序数组 II

&#x1f308;&#x1f308;&#x1f604;&#x1f604; 欢迎来到茶色岛独家岛屿&#xff0c;本期将为大家揭晓LeetCode 81. 搜索旋转排序数组 II&#xff0c;做好准备了么&#xff0c;那么开始吧。 &#x1f332;&#x1f332;&#x1f434;&#x1f434; 一、题目名称 LeetC…

年后准备换工作的软件测试工程师们,你准备好了吗?

需要严肃说明的是&#xff1a;面试题库作为帮助大家准备面试的辅助资料&#xff0c;但是绝对不能作为备考唯一途径&#xff0c;因为面试是一个考察真实水平的&#xff0c;不是背会了答案就可以的&#xff0c;需要你透彻理解的&#xff0c;否则追问问题答不出来反而减分&#xf…

什么是dapp?如何在web中开发dapp?

web3 “Web3.0”是对“Web2.0”的改进&#xff0c;在此环境下&#xff0c;用户不必在不同中心化的平台创建多种身份&#xff0c;而是能打造一个去中心化的通用数字身份体系&#xff0c;通行各个平台。更像是一种概念吧。 区块链 区块链&#xff08;Blockchain&#xff09;是由…

54-64-k8s-集群监控-高可以用集群-交付部署

54-k8s-集群监控-高可以用集群-交付部署 k8s集群监控 1、概述 一个好的系统&#xff0c;主要监控以下内容 集群监控 节点资源利用率节点数运行Pods Pod监控 容器指标应用程序【程序占用多少CPU、内存】 2、监控平台 使用普罗米修斯【prometheus】 Grafana 搭建监控平台…

JS实现鼠标悬停变色

JS实现鼠标悬停变色 案例池子&#xff1a; JS实现鼠标悬停变色 JavaScript中的排他算法实现按钮单选 JavaScript中的localStorage JavaScript中的sessionStorage JavaScript实现网页关灯效果 JavaScript实现一段时间之后关闭广告 JavaScript实现按键快速获取输入框光标 …

第二证券|紧盯“有诺不行”隐疾 补齐上市公司高质量发展“短板”

有诺不可”的典型事例 “言而有信”是上市公司高质量开展的重要环节。近日&#xff0c;证监会印发的《推动提高上市公司质量三年举动计划&#xff08;2022-2025&#xff09;》&#xff08;下称《举动计划》&#xff09;提出&#xff0c;将着力处理管理领域杰出问题&#xff0c…

(Java)Thymeleaf学习笔记——动力节点

前言 学SpringMVC找课程时就了解到要学习thymeleaf这种Java模板引擎&#xff0c;但本着不用不学的原则就直接跳过&#xff0c;当实践第一个SpringMVC程序helloworld&#xff0c;遇见了thymeleaf&#xff0c;那么就先解决 &#x1f4a1;thymeleaf 知识点&#xff0c;再来学习Sp…

CSS新增样式----圆角边框、盒子阴影、文字阴影

在CSS中新增了三个样式&#xff0c;分别是圆角边框&#xff0c;盒子阴影&#xff0c;文字阴影。 初识圆角边框&#xff1a; border-radius属性用于设置元素的外边框圆角 语法如下&#xff1a; border-radius:length;原理如下&#xff1a; [椭]圆与边框的交集形成圆角效果。…

档案知识:声像档案的数字化处理与保存

声像档案是档案家族中较晚出现的成员&#xff0c;主要包括音像资料、图像资料、图片等&#xff0c;伴随着当今科技的发展进步&#xff0c;声像档案的数字化管理正逐步替代传统声像档案的管理方式&#xff0c;成为当前的发展主流。 虽然声像档案相较于传统文字档案&#xff0c;…

GFS分布式文件系统

GFS分布式文件系统 什么是GFS分布式文件系统 GFS&#xff08;GlusterFS&#xff09; 是一个开源的分布式文件系统。 由存储服务器、客户端以及NFS/Samba 存储网关&#xff08;可选&#xff0c;根据需要选择使用&#xff09;组成。 没有元数据服务器组件&#xff0c;这有助于提…

黑金ZYNQ7100配置HDMI驱动并测试

Linux系统移植系列 Linux系统移植专栏地址 https://blog.csdn.net/qq_41873311/category_12127932.html 一个写了五篇博客&#xff0c;成功在黑金ZYNQ7100搭建了属于我自己的Linux系统 但是缺少显示模块&#xff0c;所以本文就配置个HDMI驱动来完成图像的显示 环境 hdf设计…

N年后牛的数量

1、题目 第一年农场有 1 只成熟的母牛 A&#xff0c;往后的每年&#xff1a; 1&#xff09;每一只成熟的母牛都会生一只母牛 2&#xff09;每一只新出生的母牛都在出生的第三年成熟 3&#xff09;每一只母牛永远不会死 2、思路 举例说明&#xff1a; 可得到递推式为&…

文华财经期货量化策略抄底准确率高的指标公式,逃顶抄底精准共振起涨信号幅图指标

期货指标公式的万变不离...离均线远了就要往均线靠&#xff0c;这就是乖离。 做多的衰竭&#xff0c;做空的无力&#xff0c;也能根据乖离来判断。 量能的重要性不言而喻&#xff0c;他是一切做多做空的力量来源 摒弃了量能的趋势就是没有方向的车&#xff0c;金叉之后也可能突…

C++11 智能指针

文章目录1. 智能指针出现的意义1.1 内存泄漏1.2 智能指针初识2. C标准库中的智能指针2.1 auto_ptr2.2 std::unique_ptr2.3 std::shared_ptr2.4 std::weak_ptr3. 智能指针中的定制删除前言&#xff1a; 智能指针&#xff0c;它是指针嘛&#xff1f;它是一个类具有指针的功能&…

HTML期末学生大作业-拯救宠物网页作业html+css

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Redis主从复制与Cluster集群

目录 一.Redis集群模式 二、Redis 主从复制 2.1 主从复制介绍 2.2 主从复制的作用 2.3 主从复制流程&#xff1a; 三. Redis主从复制搭建 3.1 实验步骤 ​ 3.2 修改master节点配置文件 3.3 修改slave节点的配置文件 3.4 验证主从效果 3.4.1 主节点查看日志&#xff0…

数据图表-FineReport复选按钮控件

1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 -- 1.2 应用场景 1.2.1 填报控件 填报报表中可以通过该控件执行批量选中操作&#xff0c;如下图所示&#xff1a; 1.2.2 参数控件 参数面板处可以通过该控件执行查询操作&#xff0c;如下图所示&#xff1a; 1.3 如何添加…