【Web API DOM11】节点操作

news2024/11/18 7:40:09

一:DOM节点

1 什么是DOM节点

DOM树里每一个内容都称为节点

2 DOM节点分类

元素节点

属性节点:a标签的href、img标签的src等

文本节点:标签中的文字

上图为整个DOM树,每个标签、以及标签属性、文本内容构成了DOM树

二:节点查找(元素节点)

节点查找依据的是节点之间关系进行查找,查找后返回的都是对象,这与通过document.querySelector()查找返回类型是一致的

1 节点关系

  1. 父节点

    1. 语法格式:子元素.parentNode
    2. 只能查找最近一级的父级元素,如果没有返回null
  2. 子节点

    1. 两种查找方式
      1. 父元素.childNodes(不重要)
        1. 获取的是所有元素节点、文本节点、注释节点
      2. 父元素.children(重点)
        1. 仅获得所有元素节点
        2. 返回的是伪数组
  3. 兄弟节点

    1. 两种属性
      1. nextElementSibling
      2. previousElementSibling

三:增加节点

节点添加分为创建节点、追加节点两步

1 创建节点

语法格式:cosnt 变量名= document.creatElement('元素标签')

2 追加节点

  1. 在父元素末尾追加节点
    1. 语法格式:父元素.appendChild(存储创造节点的变量名)
  2. 在父元素最前方追加节点
    1. 语法格式:父元素.insertBefore(添加哪一个元素,放到哪个元素前面)

2 案例:渲染数据

案例中核心代码块

创建li标签,将li标签中内容利用模板字符串修改,最后在追加到ul中

        // 1 遍历数组,创建节点、插入节点
        const ul = document.querySelector('.box-bd ul')
        for (let index = 0; index < data.length; index++) {
            const li = document.createElement('li')
            li.innerHTML = `
                    <a href="#">
                        <img src="${data[index].src}" alt="">
                        <h4>
                            ${data[index].title}
                        </h4>
                        <div class="info">
                            <span>高级</span> • <span>${data[index].num}</span>人在学习
                        </div>
                    </a>
            `
            ul.insertBefore(li, ul[index])
            //追加内容
        }

样式

有兴趣的朋友可以下载源码练习

四:节点克隆(元素节点)

1 基础知识

语法格式:
待克隆的元素.cloneNode(布尔值)

  • 若为true,则代表会克隆元素内容节点以及所有后代元素节点
  • 若为false,则代表只克隆当前元素节点,元素中文本节点以及后代元素节点都不克隆
  • 默认为false

五:删除节点(元素节点)

语法格式:

父元素.removeChild(要删除的元素)

注:

删除的是存在父子级关系的元素,如果不存在该关系,则删除不成功

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

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

相关文章

码蹄集部分题目(2024OJ赛18期;并查集+ST表+贪心)

1&#x1f40b;&#x1f40b;史莱姆融合&#xff08;钻石&#xff1b;并查集&#xff09; 时间限制&#xff1a;1秒 占用内存&#xff1a;128M &#x1f41f;题目描述 &#x1f41f;题目思路 这道题目使用并查集&#xff0c;同一集合的所有元素的最顶上的祖父节点是统一的。…

[NOVATEK] NT96580行车记录仪功能学习笔记

一、u-Boot升级灯 运行u-Boot程序时LED灯闪烁,找到运行过程中一直在运行的函数在里面进行LED引脚电平的翻转 宏定义 Z:\SunFan\AHD580\pip\na51055_PIP\BSP\u-boot\include\configs\nvt-na51055-evb.h Z:\SunFan\AHD580\pip\na51055_PIP\BSP\u-boot\drivers\mtd\nvt_flash_…

【BOM02】本地存储

一&#xff1a;什么是本地存储 数据存储在用户浏览器中&#xff0c;用户设置、读取方便&#xff0c;同时页面刷新时不会丢失数据。存储在浏览器中数据约5M&#xff0c;分为sessionStorage和localStorage两种存储方式 二&#xff1a;localStorage存储 作用 将数据永久存储在…

idm2024最新完美破解版免费下载 idm绿色直装版注册机免费分享 idm永久激活码工具

IDM 2024破解版重新开发了调度程序和MMS协议支持、重新设计和增强的下载引擎、与所有最新浏览器的独特高级集成、改进的工具栏以及大量其他改进和新功能&#xff0c;这一全新的更新&#xff0c;使得IDM下载器更加完美。值得一提的是&#xff0c;它可以借助油猴浏览器的脚本&…

linux系统——route路由命令

route路由对linux内的ip路由表进行操作 计算机间的数据通信是通过网络来实现的&#xff0c;路由就是从源主机到目标主机的转发过程 路由分为静态路由与动态路由&#xff0c;linux中的均为静态路由&#xff0c;动态路由由交换机路由器自动分配规则而来

2022 hnust 湖科大 javaweb课设 数据库课设 报告+源代码+流程图文件+课设指导书+附赠数据库课堂实验指导书

2022 hnust 湖科大 javaweb课设 数据库课设 报告源代码流程图文件课设指导书附赠数据库课堂实验指导书 描述 湖南科技大学大二下学期先后开展java web和数据库课程设计&#xff0c;两个课设项目可以通用&#xff0c;老师一般会允许自拟选题&#xff0c;所以在此统一打包&…

关于使用南墙waf防护halo网站主页请求404报错的解决方案

文章目录 环境说明问题展示原因探究解决方法 环境说明 在1panel应用商店&#xff0c;部署南墙waf(docker版)halo(2.16.1社区版)注意部署过程中注意uuwaf必须勾选允许外部访问&#xff0c;halo可以不勾选[这里为了证明确实是南墙waf的原因&#xff0c;选择勾选] 问题展示 使…

css实现文字打字机效果

html <body><p class"line animation">我和我的祖国&#xff0c;一刻也不能分割</p> </body>css <style type"text/css">html,body {height: 100%;}body {overflow: hidden;display: flex;justify-content: center;align-i…

D3D 顶点格式学习

之前D3D画三角形的代码中有这一句&#xff0c; device.VertexFormat CustomVertex.TransformedColored.Format; 这是设置顶点格式&#xff1b; 画出的三角形如下&#xff0c; 顶点格式是描述一个三维模型的顶点信息的格式&#xff1b;可以包含以下内容&#xff0c; 位置…

算法:前缀和题目练习

目录 题目一&#xff1a;一维前缀和[模版] 题目二&#xff1a;二维前缀和[模版] 题目三&#xff1a;寻找数组的中心下标 题目四&#xff1a;除自身以外数组的乘积 题目五&#xff1a;和为K的子数组 题目六&#xff1a;和可被K整除的子数组 题目七&#xff1a;连续数组 题…

【工具】Vmware17 安装mac(13.6.7)虚拟机

目录 0.简介 1.环境 2.详细步骤 2.1下载mac镜像&#xff08;可以选择你所需要的&#xff09; 2.2 VMware安装 1&#xff09;创建新的虚拟机 2&#xff09;选择【典型】&#xff0c;点击下一步 3&#xff09;选择【安装程序光盘映像文件】&#xff0c;点击浏览&#xff…

vue3路由详解,从0开始手动配置路由(vite,vue-router)

创建一个不含路由的vue项目 &#xff08;查看路由配置可以直接跳过这一段&#xff09; 输入npm指令&#xff0c;然后写一个项目名称&#xff0c;之后一路回车即可 npm create vuelatest 注意这里我们不选引入vue router&#xff0c;成功后可以 查看目录 然后按提示信息输入指…

如何设置vue3项目中默认的背景为白色

方法1&#xff1a;通过CSS全局样式 在全局CSS文件中设置&#xff1a; 如果你的项目中有全局的CSS文件&#xff08;如App.vue或专门的CSS文件&#xff09;&#xff0c;你可以直接设置body或html标签的背景颜色。 在src/assets文件夹中&#xff08;或者任何你存放CSS文件的地方&a…

【机器学习基础】Python编程06:五个实用练习题的解析与总结

Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面: 简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。 丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些…

Linux网络-自定义协议、序列化和反序列化、网络计算服务器的实现和Windows端客户端

文章目录 前言一、自定义协议传结构体对象 序列化和反序列化什么是序列化&#xff1f;反序列化 二、计算器服务端&#xff08;线程池版本&#xff09;1.main.cc2.Socket.hpp3.protocol.hpp4.Calculator.hpp5.serverCal.hpp6.threadPool.hpp7.Task.hpp8. log.hpp 客户端Windows客…

【回溯算法】N皇后问题·构建多叉决策树,遍历决策节点,做出决策(边),收集答案

0、前言 在由树形解空间入手&#xff0c;深入分析回溯、动态规划、分治算法的共同点和不同点这篇博客&#xff0c;其实已经对回溯算法的思想、做题框架做出了详细的阐述。这篇文章我们再从N皇后问题&#xff0c;加深我们对其理解。 这里在简单再次对其进行概述&#xff1a; …

3、前端本地环境搭建

前端本地环境搭建 安装node [node下载地址] https://nodejs.org/en/download/prebuilt-installer 选择LTS的版本进行下载 下载后直接双击点击&#xff0c;选择自己想要安装到的目录一直点下一步即可&#xff08;建议不要安装到c盘&#xff09; 安装完成后配置环境变量&am…

NLP课程笔记-基于transformers的自然语言处理入门

NLP课程笔记-基于transformers的自然语言处理入门 项目地址2.1 图解attention2.1.1 Seq2seq框架2.1.2 Seq2seq细节2.1.3 Attention1) 基于RNN的seq2seq模型的问题2)基于Attention seq2seq方案 2.2 图解transformer2.2.1 transformer宏观结构单层编码器单层解码器 2.2.2 transfo…

揭秘FL Studio21.2最新官方免费下载中文破解版!

在音乐创作中&#xff0c;一个优秀的宿主软件是必不可少的。而FL Studio 21.2中文破解汉化免费版&#xff0c;作为一款功能强大、易于上手的宿主软件&#xff0c;已经成为越来越多音乐制作者的首选。那么&#xff0c;它究竟有何魅力呢&#xff1f;下面就让我们一起来了解一下。…

.Net Core 8.0 IIS部署遇到奇怪的部分接口报404的问题解决

本地运行没问题&#xff0c;部署到IIS后&#xff0c;部分接口报404&#xff0c;其它接口都正常。 经和群里讨论&#xff0c;大概意思是接口返回数据比较大的时候&#xff0c;就会出现这个问题。 查看事件查看器&#xff0c;发现应该是数据过大时使用了临时文件夹&#xff0c;…