JavaWeb—js(3)

Bom

dom: document object model(文档对象模型),
是处理html、xml的标准编写接口。

节点和元素

整个页面也就是整个文档我们称之为文档节点; 

文档节点使用document来表示; 

页面中的所有标签我们称之为元素,使用element来表示; 

如此处的文本、属性、注释等,我们称之为节点,使用node进行表示;即注释也叫注释节点、文 本也叫文本节点、属性也叫属性节点;元素也可以称为元素节点。 

获取元素对象

 /*
    通过document 对象 获取元素
    */

    //通过id获取元素对象 传入id的名称
    //id不能重复
    let div =  document.getElementById('one');
    console.log(div)


    // 通过class名获取元素对象 返回的是一个数组
    //如果要去操作具体的对象,需要通过索引获取到对象
    let div2 = document.getElementsByClassName('box1');
    console.log(div2)


    //通过标签的名称获取元素对象 返回一个数组
   let liList= document.getElementsByTagName('li');
    console.log(liList)


    //通过name属性的值获取元素 返回一个数组 (了解)
    let nameList = document.getElementsByName('dzh');
    console.log(nameList)


    //通过选择器获取一个元素对象
   let box1 =  document.querySelector('.box1');
   console.log(box1)

   //通过选择器获取多个元素对象
   var box2= document.querySelectorAll('div');
   console.log(box2)

操作文本超文本

// 通过class名获取元素对象 返回的是一个数组
    //如果要去操作具体的对象,需要通过索引获取到对象
    let div = document.getElementsByClassName('box1');
    console.log(div)


    console.log(div[0].innerText)

    //操作元素的文本内容
    // div[0].innerText=' <span>我是span</span>';

    //操作元素的 超文本内容
    div[0].innerHTML='<span class="one">我是span</span>'

操作对象的属性

id和class


    //操作元素对象的属性
    // 对象名.属性名
    console.log(div.id)
    div.id='two';
 

    //操作类名

    console.log(div.className)

    //覆盖class名
    // div.className='box2'


    // 添加类名
    div.classList.add('box2')

    // 删除类名
    // div.classList.remove('')

    //替换类名
    // div.classList.replace('')

操作自定义属性

//获取到所有的li 给每一个li添加一个唯一的index标识

   let liList= document.getElementsByTagName('li');
    for (let i = 0; i < liList.length; i++) {
        const element = liList[i];
        
        // 设置属性名和属性值
        element.setAttribute('index',i)

        console.log(element.getAttribute('index'))
    }

 

操作元素行内样式

  //设置当前元素的行内样式
        div.style.color='red';
        div.style.width='100px';
        div.style.height='100px'

        // font-size   fontSize  background-color backgroundColor
        div.style.backgroundColor='green';

获取元素的外部样式

  //获取元素的外部样式
        console.log(window.getComputedStyle(div).backgroundColor)
        console.log(window.getComputedStyle(div).width)

操作checkbox的checked属性

//先判断 有没有选中
        if(checkbox.checked){
            //如果是选中 就取消选中
            checkbox.checked=false;
            btn.innerText='点击选中'

        }else{
            checkbox.checked=true;
            btn.innerText='点击取消选中'
        }

节点操作

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <button onclick="del()">删除</button>
    <button onclick="replace()">替换</button>
    

</body>
<script>

    // 创建一个元素节点 传入元素的名称
   let div =  document.createElement('div');
   div.style.width='100px'
   div.style.height='100px'
   div.style.backgroundColor='red'


   //创建文本节点, 等同于 innerText属性
//    let text = document.createTextNode('我是div');
//    div.appendChild(text)
div.innerText='我是div'
   console.log(div)

   //获取到body标签的对象
   let body = document.querySelector('body');
   console.log(body)

   //追加子节点
   body.appendChild(div)


   function del(){

        //点击按钮 删除div节点
        //前提需要有这个节点,否则会报错
        body.removeChild(div)
   }


   function replace(){
    //点击按钮 将原来的div节点 替换成 span节点
   let span= document.createElement('span');
   span.style.color='pink';
   span.style.fontSize='25px'
   span.innerText='我是span'

   //(插入的节点,被替换的节点) 
   //要保证 被替换节点存在
   body.replaceChild(span,div)

   }


   //查看当前元素的所有子节点
 let childList = body.childNodes
 console.log(childList)
</script>
</html>

 

 

 

 

 

 

 

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

腾讯又一平台即将停止运营

随着腾讯公司业务和战略的调整&#xff0c;某些业务逐渐退出历史舞台&#xff0c;如“腾讯直播平台NOW”&#xff0c;以及“QQ签到”&#xff0c;“腾讯待办”&#xff0c;“企鹅FM音频平台”等&#xff0c;最近又有一则重磅消息&#xff0c;那就是“腾讯课堂”也即将停止运营。…

前端构建工具(webpackvite)

这里写目录标题 构建工具webpack介绍配置文件简介entryoutputloaderbabel插件开发服务器&#xff08;webpack-dev-server&#xff09;soureMap vite 构建工具 当我们习惯了在node中编写代码的方式后&#xff0c;在回到前端编写html、css、js这些东西会感觉到各种的不便。比如:…

JS代码动态打印404页面源码

JS代码动态打印404页面源码&#xff0c;适合做网站错误页&#xff0c;具有js动态打印效果&#xff0c;喜欢的朋友可以拿去 源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务…

MES系统在装备制造行业核心应用场景介绍

MES软件在企业中有着广泛的应用场景&#xff0c;主要包括生产计划排程、生产过程监控、质量管理、设备管理、库存管理、数据分析等领域。 通过实时监控生产过程、收集数据、进行分析&#xff0c;MES软件可以帮助企业实现生产过程可视化、透明化&#xff0c;提高生产效率&#…

mybatis 延迟加载

MyBatis的延迟加载&#xff08;Lazy Loading&#xff09;是一种优化技术&#xff0c;用于在需要时才加载关联对象或集合&#xff0c;从而提高性能和效率。以下是对MyBatis延迟加载的详细介绍&#xff1a; 延迟加载的基本概念 延迟加载是指在第一次访问对象的属性时才加载该对象…

vue3 antdv Modal通过设置内容里的容器的最小高度,让Modal能够适当的变高一些

1、当收款信息Collapse也折叠的时候&#xff0c;我们会发现Modal的高度也变成了很小。 2、我们希望高度稍微要高一些&#xff0c;这样感觉上面显示的Modal高度太小了&#xff0c;显示下面的效果。 3、初始的时候&#xff0c;想通过class或者style或者wrapClassName来实现&#…

浅谈VPS主机上的数据库性能优化

如何提高网站性能&#xff1f;一个显而易见的解决方案是升级托管账户。您的网站将拥有更多硬件资源&#xff0c;因此可以同时处理更多请求并更快地传递数据。 无论如何&#xff0c;人们都是这么认为的。但事实总是不一样。 现代网站是一个复杂的系统&#xff0c;包含许多必须…

【靶机实战】GeoServer 远程代码执行漏洞复现

# 在线靶场 可以通过访问极核官方靶场开启靶机实验&#xff1a;极核靶场 -> 漏洞复现靶场 -> GeoServer-远程代码执行 原文&#xff1a;【靶机实战】GeoServer 远程代码执行漏洞复现 - 极核GetShell (get-shell.com) # 简介 CVE-2024-36401是一个高危的远程代码执行漏…

java中方法的使用

方法的使用 方法的概念什么是方法方法定义方法的调用过程实参和形参的关系 方法重载为什么需要方法重载方法重载的概念方法签名 递归递归的概念递归过程分析递归练习 方法的概念 什么是方法 方法就是一个代码片段&#xff0c;类似于C语言的函数。 方法存在的意义&#xff1a;…

LabVIEW自动测控与故障识别系统

使用LabVIEW 2019在Win10 64位系统上开发自动测控软件&#xff0c;通过与基恩士NR-X100数据采集仪通讯&#xff0c;实时采集和分析数据&#xff0c;自动识别判断产品是否合格&#xff0c;并增加数据记录和仿真功能。 具体解决方案&#xff1a; 1. 系统架构设计 硬件接口&#…

《AIGC:智能创作时代》:AI创作革命来临,你准备好了吗?

想象一下&#xff0c;你正在欣赏一幅精美的画作&#xff0c;惊叹于其细腻的笔触和独特的构图。然而&#xff0c;当你得知这幅作品是由人工智能创作时&#xff0c;你会作何感想&#xff1f;这不再是科幻小说中的场景&#xff0c;而是我们正在经历的现实。 在这个AI技术飞速发展的…

LT7911UX 国产原装 一拖三 edp 转LVDS 可旋转 可缩放

2.一般说明 该LT7911UX是一种高性能Type-C/DP1.4a到MIPI或LVDS芯片的VR/显示应用。HDCP RX作为HDCP转发器的上游&#xff0c;可以与其他芯片的HDCP TX配合实现转发器功能。 对于DP1.4a输入&#xff0c;LT7911UX可配置为1/2/4通道。自适应均衡使其适用于长电缆应用&#xff0c;最…

2,区块链、数字货币及其应用场景(react+区块链实战)

2&#xff0c;区块链、数字货币及其应用场景&#xff08;react区块链实战&#xff09; 一、什么是区块链&#xff1f;1 ibloackchain&#xff08;1&#xff09;安装ibloackchain&#xff08;2&#xff09;Blance查询余额&#xff08;3&#xff09;Mine挖矿&#xff08;4&#x…

无损音频格式 FLAC 转 MP3 音频图文教程

音频文件的格式多样&#xff0c;每种格式都有其独特的特点与适用场景。FLAC&#xff08;Free Lossless Audio Codec&#xff09;&#xff0c;作为一种无损音频压缩格式&#xff0c;因其能够完美保留原始音频数据的每一个细节而备受音频发烧友和专业人士的青睐。 然而&#xff0…

在表格中选中el-radio后, 怎么获取选中的这一行的所有数据?

演示: 图中, 选中这行数据后, 怎么获取到当前的数据? 代码: <tr v-for"item in gridData"><td><input type"radio" v-model"checkout" change"getDateFn" :data-type"item.articleType" :data-channelNam…

Spring Cloud Alibaba -- 分布式定时任务解决方案(轻量级、快速构建)(ShedLock 、@SchedulerLock )

文章目录 一、 ShedLock简介二、 SchedulerLock三、基于Mysql方式使用步骤1.建表2.引入依赖3.Mysql连接配置4.ScheduledLock配置5.启动类配置6.创建定时任务7.启动多个项目服务进行测试8.SchedulerLock注解说明 四、使用注意事项 一、 ShedLock简介 ShedLock 是一个用于 Java …

中职网络安全B模块渗透测试server2003

通过本地PC中渗透测试平台Kali对服务器场景Windows进⾏系统服务及版本扫描渗透测 试&#xff0c;并将该操作显示结果中Telnet服务对应的端⼝号作为FLAG提交 使用nmap扫描发现目标靶机开放端口232疑似telnet直接进行连接测试成功 Flag&#xff1a;232 通过本地PC中渗透测试平台…

VMware取消中文支持,替换vSAN解决方案提上日程!

What is vSAN &#xff1f; 是一款软件定义的企业存储解决方案&#xff0c;支持超融合基础架构系统。vSAN与VMware vSphere 完全集成在一起&#xff0c;作为ESXi Hypervisor内的分布式软件层&#xff0c;通过整合、池化ESXi各个主机上的存储资源&#xff0c;为vSphere虚拟化平…

Apache中使用SSI设置

先停服务在修改httpd.conf&#xff0c;备份下 Apache\Apache24\conf 设置httpd.conf LoadModule ssl_module modules/mod_ssl.so 取消该命令前的注释符# AddType text/html .shtml AddOutputFilter INCLUDES .shtml 取消该命令前的注释符# 加入html AddType text/html .…

mov视频怎么改成mp4?把mov改成MP4的四个方法

mov视频怎么改成mp4&#xff1f;选择合适的视频格式对于确保内容质量和流通性至关重要。尽管苹果公司的mov格式因其出色的视频表现备受赞誉&#xff0c;但在某些情况下&#xff0c;它并非最佳选择&#xff0c;因为使用mov格式可能面临一些挑战。MP4格式在各种设备&#xff08;如…