当前位置: 首页 > news >正文

WebAPI(三)、 DOM 日期对象Date;获取事件戳;根据节点关系查找节点

文章目录

  • DOM
    • 1. 日期对象
      • (1)、日期对象方法
      • (2)、时间戳
      • (3)、下课倒计时
    • 2. 节点操作
      • (1)、 查找节点(根据节点关系找)
      • (2)、 增加节点:创建create、追加append、克隆clone
      • (3)、 删除节点remove

DOM

1. 日期对象

日期对象就是用来表示时间的对象,可以得到当前的时间

//  获取当前时间
const current = new Date() 
console.log(current) // Fri Sep 06 2024 18:02:43 GMT+0800
// 获取指定时间
const date = new Date('2025-06-01 08:30:00')
console.log(date) // Sun Jun 01 2025 08:30:00 GMT+0800

(1)、日期对象方法

方法作用说明
getFullYear()获得年份四位数的年份
getMonth()获得月份取值为0~11
getDate()获得月份中的一天不同月份取值不同
getDay()获得周几取值0~6,0代表星期日
getHours()获取小时取值0~23
getMinuates()获取分钟取值0~59
getSeconds()获取秒取值0~59

比如:

const currentDate = new Date()
console.log(currentDate.getFullYear());
console.log(currentDate.getMonth() + 1); // getMonth 0-11
console.log(currentDate.getDate());
console.log(currentDate.getDay()); // 0-6  星期天是0
//  getDay() 0-6
const arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
console.log(arr[new Date().getDay()]);

(2)、时间戳

时间戳就是获取毫秒数,可用来计算倒计时效果。
获取时间戳的三种方法
getTime():可返回指定时间的时间戳
new Date():可返回指定时间的时间戳—常用
Date.now(): 这个方法无法返回指定时间的时间戳,

// F1: getTime() 可返回指定时间的时间戳
console.log(new Date().getTime()); // 1725617212649
// F2: +new Date() 可返回指定时间的时间戳---常用
// new Date()返回的是字符串,前边+号将字符串转为数字型,就是时间戳了
console.log(+new Date()); // 1725617212649
//F3: Date.now() 这个方法无法返回指定时间的时间戳,console.log(Date.now()); // 1725617212649

(3)、下课倒计时

  • 将来的时间戳-现在的时间戳 = 剩余的时间毫秒数
  • 把剩余时间转换为时、分、秒。
  • 转换公式
    • 天数: d = parseInt(总秒数/ 60 / 60 % 24);
    • 小时:h = parseInt(总秒数/ 60 / 60 % 24)
    • 分钟数:m = parseInt(总秒数 / 60 % 6);
    • 秒数: s = parseInt(总秒数 % 60)
function getCountTime () {// 1. 得到当前的时间戳const now = +new Date()// 2. 得到将来的时间戳const last = +new Date('2022-4-1 18:30:00')// 3. 得到剩余的时间戳 count  记得转换为 秒数const count = (last - now) / 1000// console.log(count)// 4. 转换为时分秒, 格式是HH-MM-SS,不足两位补0let h = parseInt(count / 60 / 60 % 24)h = h < 10 ? '0' + h : h let m = parseInt(count / 60 % 60)m = m < 10 ? '0' + m : mlet s = parseInt(count % 60)s = s < 10 ? '0' + s : sconsole.log(h, m, s)//  5. 把时分秒写到对应的盒子里面document.querySelector('#hour').innerHTML = hdocument.querySelector('#minutes').innerHTML = mdocument.querySelector('#scond').innerHTML = s
}
getCountTime()
setInterval(getCountTime, 1000) // 设一个定时器,实时更新倒计时

2. 节点操作

dom树里有不同类型的节点,重点关注元素节点
在这里插入图片描述

(1)、 查找节点(根据节点关系找)

此处查找节点是根据节点之间的关系来查找
查找父节点子元素.parentNode,返回最近一级的父节点,找不到返回null

<div class="grandpa"><div class="father"><div class="son"></div></div>
</div>
<script>const son = document.querySelector('.son')console.log(son);console.log(son.parentNode);console.log(son.parentNode.parentNode);
</script>

查找子节点: 父元素.children, 仅获得所有元素节点,返回的是一个伪数组
兄弟关系查找:下一个兄弟——nextElementSibling;上一个兄弟——previousElementSibling

<ul><li>one</li><li>two</li><li>three</li><li>four</li><li>five</li>
</ul>
<script>// 1.2 获得所有子元素的children元素节点const ul = document.querySelector('ul')console.log(ul.children);         // 伪数组// 1.3 兄弟节点const fourLi = document.querySelector('ul li:nth-child(4)')console.log(fourLi);// 上一个console.log(fourLi.previousElementSibling);// 下一个console.log(fourLi.nextElementSibling);
</script>

(2)、 增加节点:创建create、追加append、克隆clone

  • 创建节点
    • document.createElement(‘标签名’) 创建一个新的元素节点
  • 追加节点
    • 父元素.appendChild(要插入的元素):追加为父元素的最后一个子元素
    • 父元素.insertBefore(要插入的元素,在哪个元素前面):追加在某个元素前边
<ul><li>one</li><li>two</li><li>three</li><li>four</li><li>five</li>
</ul>
<script>const ul = document.querySelector('ul')// 1. 创建节点 creatElement('标签名')const li = document.createElement('li')li.innerHTML = '在末尾追加的元素'// 2. 追加// 2.1 追加在末尾 appendChildul.appendChild(li)// 2.2 追加在某个位置 insertBefore('要插入的元素',位置)const topLi = document.createElement('li')topLi.innerHTML = 'topLi'ul.insertBefore(topLi, ul.children[0])
</script>
  • 克隆元素
    • 某个子元素.clone(布尔值)
// true--克隆个跟原标签一样的元素,括号内传入布尔值
// false就只克隆标签,其余的都不管
ul.appendChild(ul.children[0].cloneNode(true))

(3)、 删除节点remove

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

// 原生DOM操作中,删除元素必须通过父元素删除
ul.removeChild(ul.children[1])

删除节点和隐藏节点(display:none)区别: 隐藏节点还是存在的,但是删除,则从html中删除节点。

相关文章:

WebAPI(三)、 DOM 日期对象Date;获取事件戳;根据节点关系查找节点

文章目录 DOM1. 日期对象(1)、日期对象方法(2)、时间戳(3)、下课倒计时 2. 节点操作(1)、 查找节点&#xff08;根据节点关系找&#xff09;(2)、 增加节点&#xff1a;创建create、追加append、克隆clone(3)、 删除节点remove DOM 1. 日期对象 日期对象就是用来表示时间的对…...

012.Oracle-索引

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…...

SSL 证书 | 免费获取与自动续期全攻略

前言 随着互联网的不断发展&#xff0c;网站的安全性越来越受到人们的关注。 SSL证书 作为一种保障网站安全的重要手段&#xff0c;已经成为了许多网站的必备配置。 以前阿里云每个账号能生成二十个期限 1 年的免费 SSL 证书&#xff0c;一直用&#xff0c;还挺香&#xff0…...

达梦数据库管理员常用SQL(一)

达梦数据库管理员常用SQL(一) 数据库基本信息数据库参数信息表空间信息日志文件信息进程和线程信息会话连接信息SQL执行信息等待事件信息事务和锁信息数据库基本信息 --查询数据库内部版本号 select id_code; select build_version from v$instance; select * from v$versi…...

HttpUtils工具类(三)OKHttpClient使用详细教程

OkHttpClient 是一个由 Square 公司开发的 HTTP 客户端库&#xff0c;用于在 Android 和 Java 应用中进行网络请求。它支持同步和异步请求、连接池、超时设置、拦截器等功能&#xff0c;适合用于高性能网络请求&#xff0c;特别是在需要处理复杂的网络操作时。 一、OKHttpClien…...

重生奇迹MU老大哥剑士职业宝刀未老

重生奇迹MU中&#xff0c;老大哥剑士职业一直以来备受玩家们的喜爱。这个职业不仅拥有强大的攻击力、防御力和战斗技巧&#xff0c;而且还能够通过使用各种宝刀来增强自身的战斗能力。即便经过了多年的沉淀&#xff0c;老大哥剑士依然是一名宝刀未老的男人&#xff0c;仍然能够…...

关于Netty详细介绍,Netty原理架构解析

Netty 是什么 1&#xff09;Netty 是 JBoss 开源项目&#xff0c;是异步的、基于事件驱动的网络应用框架&#xff0c;它以高性能、高并发著称。所谓基于事件驱动&#xff0c;说得简单点就是 Netty 会根据客户端事件&#xff08;连接、读、写等&#xff09;做出响应&#xff0c;…...

在Unity环境中使用UTF-8编码

为什么要讨论这个问题 为了避免乱码和更好的跨平台 我刚开始开发时是使用VS开发,Unity自身默认使用UTF-8 without BOM格式,但是在Unity中创建一个脚本,使用VS打开,VS自身默认使用GB2312(它应该是对应了你电脑的window版本默认选取了国标编码,或者是因为一些其他的原因)读取脚本…...

零工市场小程序:自由职业者的日常工具

零工市场小程序多功能且便捷&#xff0c;提供了前所未有的灵活性和工作效率。这类小程序不仅改变了自由职业者的工作方式&#xff0c;也重塑了劳动力市场的格局。 一、零工市场小程序的特点 即时匹配&#xff1a;利用先进的数据算法&#xff0c;零工市场小程序能够快速匹配自由…...

【Http 每日一问,访问服务端的鉴权Token放在header还是cookie更合适?】

结论先行&#xff1a; token静态的&#xff0c;不变的&#xff0c;放在header里面。 典型场景 &#xff0c;每次访问时需要带个静态token请求服务端&#xff0c;向服务端表明是谁请求&#xff0c;此时token也可以认为是个固定的access-key。token动态的&#xff0c;会失效&…...

vue2+ueditor集成秀米编辑器

一、百度富文本编辑器 1.首先下载 百度富文本编辑器 下载地址&#xff1a;GitHub - fex-team/ueditor: rich text 富文本编辑器 2.把下载好的文件整理好 放在图片目录下 3. 安装插件vue-ueditor-wrap npm install vue-ueditor-wrap 4.在你所需要展示的页面 引入vue-uedito…...

[网络]HTTP协议 Cookie与Session

一、Cookie 1.1 定义 HTTP Cookie&#xff08;也称为 Web Cookie、浏览器 Cookie 或简称 Cookie&#xff09;是服务器发送到 用户浏览器并保存在浏览器上的一小块数据&#xff0c;它会在浏览器之后向同一服务器再次发 起请求时被携带并发送到服务器上。通常&#xff0c;它用于…...

安宝特科技 | AR眼镜在安保与安防领域的创新应用及前景

随着科技的不断进步&#xff0c;增强现实&#xff08;AR&#xff09;技术逐渐在多个领域展现出其独特的优势&#xff0c;尤其是在安保和安防方面。AR眼镜凭借其先进的功能&#xff0c;在机场、车站、海关、港口、工厂、园区、消防局和警察局等行业中为安保人员提供了更为高效、…...

2024 第十二届重庆国际植保双交会暨新型肥料农药产业博览会

2024 第十二届重庆国际植保双交会暨新型肥料农药产业博览会&#xff0c;引领农业新未来 农业&#xff0c;是人类生存的基石&#xff0c;是社会发展的保障。而肥料和农药&#xff0c;作为农业生产的重要投入品&#xff0c;其品质和技术的不断创新&#xff0c;直接关系着农业的可…...

用“说”智能控制灯具开关语音识别芯片NRK3603

用“说”智能控制灯具开关是一种基于语音识别技术的智能家居设备&#xff0c;它通过内置的语音识别芯片&#xff0c;利用离线识别算法&#xff0c;将用户的语音指令实现对灯具的控制&#xff0c;NRK3603语音识别芯片成为客户低成本的离线语音识别方案。 功能特性&#xff1a; …...

APS开源源码解读: 排程工具 optaplanner

抽象层次非常好&#xff0c;广义优化工具。用于排产没有复杂的落地示例 https://github.com/apache/incubator-kie-optaplanner/blob/main/optaplanner-examples/src/main/java/org/optaplanner/examples/projectjobscheduling/app/ProjectJobSchedulingApp.javahttps://github…...

AMEYA360:村田量产用于汽车市场的高可靠性0603M铜电极负温度系数NTC热敏电阻

株式会社村田制作所开发了0603M尺寸(0.60.30.3mm)铜电极负温度系数(NTC)热敏电阻&#xff0c;型号分别是“NCU03XH103F6SRL”和“NCU03XH103F60RL”&#xff0c;该新品扩充了NCU系列的产品尺寸阵容&#xff0c;满足了汽车市场应用中电路板的高密度化和小型化、以及对电子部件的…...

代码随想录第十天|150.逆波兰表达式求值 239.滑动窗口的最大值 347.前K个高频元素

150.逆波兰表达式求解 思路&#xff1a;做过 使用stoi &#xff1a;字符串转数字 class Solution { public:int cal(int num1,int num2,char c){int res;if(c){resnum1num2;}if(c-){resnum2-num1;}if(c*){resnum1*num2;}if(c/){resnum2/num1;}return res;}int evalRPN(vector…...

[阅读笔记]《解读基金—我的投资观与实践》— 季凯帆

&#x1f4e2;博客主页&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 丶布布原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&#x1f4e2;现…...

2.3之前

1. 2. freertos基础时钟:freertos自动的采用systick定时器,作为freertos基础时钟&#xff0c;systick定时器只有定时中断功能&#xff0c;1ms中断一次。...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...