通过document获取节点元素

news2024/11/18 11:37:10

1.层级节点

<ul>
    <li id="li1">1</li>
    <li>2</li>
    <li id="li3">3</li>
    <li>4</li>
    <li>5</li>
        
 </ul>

<script>

    //获取id名为li1的元素赋值给li1
    let li1=document.getElementById(li1)
    //返回父节点:parentNode
    let par=li1.parentNode
    //给父节点添加1像素红色实线边框
    par.style.border='1px solid red'


    //获取所有子节点的集合:childNodes
    let nodes=par.childNodes
    // 第一个子节点文本颜色改为红色
    nodes[1].style.color='red'

    //第一个子节点:firstChild
    let frist=par.firstChild

    //最后一个节点:lastChild
    let last=par.lastChild

    //上一个:previousSibling
    let li3=document.getElementById('li3')
    console.log(li3.previousSibling)
    
    //下一个:nextsibling
    console.log(li3.nextsibling)
</script>

获取父节点修改第一个子节点和最后一个子节点元素的样式

 <ul>
        <li id="li1">1</li>
        <li>2</li>
        <li id="li3">3</li>
        <li>4</li>
        <li>5</li>
        
 </ul>

<Script>
        // 获取父节点
        let p=document.getElementsByTagName('ul')[0]
        p.firstElementChild.style.border='1px solid blue'
        p.lastElementChild.style.border='1px solid blue'
</script>

运行结果:

2.通过点击单选按钮,实现图片的切换

 <input type="radio" name="book" value="图书1">图书1
    <input type="radio" name="book" value="图书2">图书2
    <br>
    <img src="" alt="" height="300px" width="500px">
    <p></p>
    <script>
        let img=document.querySelector('img')
        let p=document.querySelector('p')
        document.getElementsByName('book')[0].onchange=function(){
            img.setAttribute('src','img/biaopan.jpg')
            let val=document.getElementsByName('book')[0].value
            p.innerHTML=val
        }
        document.getElementsByName('book')[1].onchange=function(){
            img.setAttribute('src','img/zhiz.png')
            let val=document.getElementsByName('book')[1].value
            p.innerHTML=val
        }
    </script>

运行结果:

点击图书1显示的图片

点击图书2显示的图片

3.追加元素

 <input type="radio" name="book" value="图书1">图书1
    <input type="radio" name="book" value="图书2">图书2
    <br>
    <!-- <img src="" alt="" height="300px" width="500px"> -->
    <p></p>
    <script>
        // let img=document.querySelector('img')
        let p=document.querySelector('p')
        document.getElementsByName('book')[0].onchange=function(){
            // 创建一个node
            let img=document.createElement('img')
            img.setAttribute('src','img/biaopan.jpg')
            img.style.height='200px'
            // 追加元素
            p.appendChild(img)
        }
        document.getElementsByName('book')[1].onchange=function(){
             // 创建一个node
             let img=document.createElement('img')
            img.setAttribute('src','img/zhiz.png')
            img.style.height='200px'
            // 追加元素
            p.appendChild(img)
        }
    </script>

运行结果:

追加元素

运行解析:

通过点击图书1,图书2单选按钮,实现图片的追加

1.获取p标签元素,用来放图片

2.给单选按钮添加鼠标事件,通过值的改变实现以下功能

3.通过createElement创建一个img元素

给img的src值改为图片的路径

4.追加创建img元素到p标签中

第二个按钮也是同样操作,这样就实现了两个按钮来回切换,图片不断添加到p标签中

4.通过父元素删除子节点

 <img src="img/biaopan.jpg" alt="">
    <script>
        document.querySelector('img').onclick=function(){
            let img=document.querySelector('img')
            // 需要通过父元素,才能删除
           img.parentNode.removeChild(img)
        }
    </script>

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

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

相关文章

为什么越来越多的视频监控AI分析做到了摄像头上?

在安防行业&#xff0c;视频监控已经非常广泛&#xff0c;是无可替代的基础信息化设施。早期的视频监控只是简单的通过摄像机对画面进行记录&#xff0c;然后通过记录的画面服务入侵探测和震慑burglars。随着近年来人工智能技术的兴起&#xff0c;人们越来越希望利用AI计算机的…

【Go】Go 环境下载与安装教程(Windows系统)

引言 Go&#xff0c;也被称为Golang&#xff0c;是一种静态类型&#xff0c;编译型的编程语言&#xff0c;由Google设计和开发。Go语言的设计目标是“解决软件开发中的一些问题”&#xff0c;特别是在大规模软件系统的构建和维护方面。 下载安装包 打开官网下载页面&#xff…

排序----基数排序、桶排序(附排序总结)

一、基数排序 从个位开始往高位不断排序&#xff0c;把各个数字按每一位的顺序排起来。 二、桶排序 建立一个指针数组&#xff0c;指针指向一个链表&#xff0c;然后再对链表排序。永远只建立一个筒&#xff0c;只适用于全是两位数或者全是三位数的排序。 三、总结 归并排序当…

如何把pdf转换成word文档?6种转换方法看完就学会

在日常工作和学习中&#xff0c;PDF文件和Word文档可以说是两种非常常见的文件格式了。然而&#xff0c;PDF文件的不可编辑性常常让我们感到困扰&#xff0c;在遇到需要编辑修改内容的PDF文件时&#xff0c;就需要将其转换成Word文档来便于编辑修改&#xff0c;那么该怎么转换呢…

并发编程。

进程 1.什么是进程&#xff1f; 进程是具有独立功能的程序关于某个数据集合上的一次运行活动&#xff0c;是系统进行资源分配和调度的 独立单位。进程是可与其他程序并发执行的程序&#xff0c;在一个数据集合上的运行过程。它是系统进行 资源分配和调度的一个独立单位。 2.进…

vivado sdk 烧写到SD卡

首先在bd文件中使能SD卡 实际根据实际原理图设置 烧写流程和烧写FLASH一样&#xff0c;产生boot.bin文件&#xff0c;只需要将BOOT.bin文件复制到SD卡里&#xff0c;将SD卡插入板卡&#xff0c;然后设置SD卡启动即可 需要注意的是&#xff1a;SD卡文件系统必须格式化为FAT32…

Stable Diffusion绘画 | XYZ Plot:让对比一目了然

XYZ Plot 是 SD 自带的&#xff0c;无需额外安装。 它的作用&#xff0c;是给我们用来对比不同参数下&#xff0c;生成图片效果的区别。 位置在页面左侧底部&#xff1a; 实操 开启 x轴进行对比&#xff0c;这里面有各种可选的对比参数&#xff1a; 现在 X轴类型 选择「Sampler…

服务器安装pytorch_geometric torch_scatter踩坑记录

conda create -n pyg python3.8.12 pip install torch1.13.0安装的版本如下 pip install torch-scatter pip install torch-sparse pip install torch-cluster pip install torch-spline-conv pip install torch-geometric2.2.0 pip install ipykernel python -m ipykernel i…

C语言 typedef - C语言零基础入门教程

目录 一.typedef 简介 二.typedef 实战 1.typedef 定义基本数据变量 2.typedef 定义结构体 A.常规定义结构体B.typedef 定义结构体C.结构体使用 typedef 和不使用 typedef 区别 3.typedef 定义函数指针 三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础…

uni-app进行微信小程序开发,快速上手

准备工作 IDE https://www.dcloud.io/hbuilderx.html 微信小程序开发工具 下载 / 稳定版更新日志 (qq.com) 安装流程 打开HBuilderX 点击这个logo打开终端 然后 下载一下终端插件 初始化一个demo 通过vue-cli命令行创建项目 uni-app官网 (dcloud.net.cn) &#xff08;官…

【软件造价咨询】软件每年运维费用取开发费用百分之几合适

应用软件的运维费用相对于系统开发建设费用的占比因项目而异&#xff0c;但可以通过一些行业标准和基准数据来进行估算。根据北京软件造价评估联盟2020至2023年发布的《中国软件行业基准数据》CSBMK文件&#xff0c;在这项文件中用百分位数统计列出了“应用软件运维费用占比”的…

mock虚拟接口技术

一、什么是mock mock指的就是使用mock创建出来的一个虚拟的接口 二、对于测试人员而言&#xff0c;我们为什么要使用mock 当我们进行接口测试时&#xff0c;如果对应的接口还没有开发好&#xff0c;但是我们又需要用到这个接口响应的信息&#xff0c;这个时候我们就可以使用…

2024年华为杯研究生数学建模竞赛D题(时空演化模型+脆性指数 完整文章|可视化)

2024年华为杯研究生数学建模竞赛D题 全文请从 底部名片 处加群获取哦~ 问题重述 题目背景&#xff1a; 地理系统是由自然和人文多要素综合作用形成的复杂巨系统。传统上&#xff0c;地理学家通过宏观结构和定性分析方法描述地理系统的主导特征&#xff0c;如地形分布、气候…

两个月学习大语言模型(LLM)的详细计划,保姆级教程非常详细收藏我这一篇就够了!

随着人工智能技术的发展&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;因其在自然语言处理、机器翻译、文本生成等领域的广泛应用而受到越来越多的关注。对于希望掌握这一前沿技术的朋友来说&#xff0c;制定一个系统的学习计划至关重要。本计划旨…

笔试强训,约瑟夫环plus孩子们的游戏​编辑解法二.动态规划大数加法牛客.在字符串中找出连续的最长数字串力扣703.数据流中第K大元素​编辑

目录 约瑟夫环plus 孩子们的游戏​编辑 解法二.动态规划 大数加法 牛客.在字符串中找出连续的最长数字串 力扣703.数据流中第K大元素​编辑 约瑟夫环plus 孩子们的游戏 基本模拟&#xff0c;没啥特殊技巧 import java.util.*;public class Solution {/*** 代码中的类名、…

03-Docker下载加速

03-Docker下载加速 docker下载加速 方式1&#xff1a;使用 网易数帆、阿里云等容器镜像仓库进行下载。 网易数帆官网&#xff1a;https://sf.163.com/ 例如&#xff0c;下载网易数帆镜像中的mysql。&#xff08;网易数帆的地址为 hub.c.163.com&#xff0c;网易数帆对dockerh…

企业微信VS钉钉:高效办公工具推荐!

这两者各有千秋&#xff0c;适合不同的办公场景。企业微信的优势在于与微信的紧密集成&#xff0c;便于与客户沟通&#xff0c;适合需要频繁与外部联系的企业。它提供了基本的办公自动化功能&#xff0c;如团队协作、审批、日程等。 钉钉则在企业管理和团队协作方面功能更全面…

ATX电源插头的接口定义

主板20Pin接口定义 主板24Pin接口定义 CPU4Pin接口定义 4D口定义 显卡6Pin接口定义(6Pin PCI Express接口) 显卡62Pin接口定义(8Pin PCI Express接口) PCI-E供电接口 主要提供12V供电&#xff0c;其中PCI-E 6Pin供电有2组12V供电&#xff0c;而PCI-E 62Pin则有3组12V供电&#…

多线程:死锁

目录 死锁的条件 死锁的示例 死锁的预防与解决 死锁的检测 总结 死锁&#xff08;Deadlock&#xff09;是多线程或多进程环境中一种特定的状态&#xff0c;指的是两个或多个线程或进程在执行过程中&#xff0c;由于争夺资源而造成的一种相互等待的状态&#xff0c;导致它们…

微服务——配置管理

1.配置管理 微服务配置管理是指对微服务架构中各个服务的配置信息进行管理、更新、查询和审计等操作&#xff0c;以确保系统的正常运行和高效管理。例如&#xff0c;网关路由或某些业务配置在配置文件中写死了&#xff0c;每次修改都要重启服务。每个微服务都有很多重复的配置&…