APIs -- DOM节点操作

news2024/12/27 11:33:02

1. 日期对象

日期对象:用来表示时间的对象

作用:可以得到当前系统时间

1.1 实例化

在代码中发现了new关键字时,一般将这个操作称为实例化

创建一个时间对象并获取时间:const date = new Date();

  // 实例化	new
  // 1.得到当前时间
  const date = new Date(); 
  console.log(ate)
  // 2.指定时间
  const date1 = new Date('2022-03-01 08:30:00') 
  // date 变量即所谓的时间对象
  console.log(date1)

1.2 时间对象方法

在这里插入图片描述
getFullYear 获取四位年份

getMonth 获取月份,取值为 0 ~ 11

getDate 获取月份中的每一天,不同月份取值也不相同

getDay 获取星期,取值为 0 ~ 6 0是星期天

getHours 获取小时,取值为 0 ~ 23

getMinutes 获取分钟,取值为 0 ~ 59

getSeconds 获取秒,取值为 0 ~ 59

  // 1. 实例化
  const date = new Date();
  // 2. 调用时间对象方法
  // 通过方法分别获取年、月、日,时、分、秒
  const year = date.getFullYear(); // 四位年份
  const month = date.getMonth(); // 0 ~ 11
  console.log(year)
  console.log(month+1)
  

页面显示格式化时间案例:
法1:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 300px;
            height: 40px;
            border: 1px solid pink;
            text-align: center;
            line-height: 40px;
        }
    </style>
</head>
<body>
    <div></div>
    <script>
        const div=document.querySelector('div')
        function getMyDate(){
            const date=new Date()
            let h=date.getHours()
            let m=date.getMinutes()
            let s=date.getSeconds()
            h=h<10?'0'+h:h
            m=m<10?'0'+m:m
            s=s<10?'0'+s:s
            return `今天是:${date.getFullYear()}${date.getMonth()+1}${date.getDate()}${h}:${m}:${s}`
        }
        div.innerHTML=getMyDate()
        setInterval(function(){
            div.innerHTML=getMyDate()
        },1000)
    </script>
</body>
</html>

法2:

const div = document.querySelector('div' )// 得到日期对象
const date = new Date()
 div.innerHTML = date.tolocaleString() // 2022/4/1 09:41:21
// div.innerHTML = date.toLocaleDateString()// 2022/4/1
// div.innerHTML = date.toLocaleTimeString() // 09:41:21
setInterval(function(){
   div.innerHTML = date.tolocaleString()
},1000)

根据日期Day() 0~6 想要返回语文的星期几而不是0~6的做法:

const arr = ['星期天'"星期一',"星期二","星期三","星期四","星期五]
// const date = new Date()
console.log(arr[new Date().getDay()])

1.3 时间戳

使用场景: 如果计算倒计时效果,前面方法无法直接计算,需要借助于时间戳完成

什么是时间戳:是指1970年01月01日00时00分00秒起至现在的毫秒数,它是一种特殊的计量时间的方式

算法:将来的时间戳 - 现在的时间戳 =剩余时间毫秒数

  • 剩余时间毫秒数 转换为 剩余时间的 年月日时分 就是倒计时时间

  • 比如 将来时间戳 2000ms - 现在时间戳1000ms =1000ms

  • 1000ms 转换为就是 0小时0分1秒

获取时间戳的三种方式:

  1. 使用getTime()方法
 // 1. 实例化
  const date = new Date()
  // 2. 获取时间戳
  console.log(date.getTime())
  1. 简写 +new Date():无需实例化
console.log(+new Date())
  1. 使用Date.now():无需实例化,但只能得到当前的时间戳,而前面两种可以返回指定时间的时间戳
console.log(Date.now())

2. 节点操作

2.1 DOM节点

概念:DOM树李每一个内容都称之为节点在这里插入图片描述

节点的类型:

  1. 元素节点:所有的标签,如body、div等;html是根节点
  2. 属性节点:所有的属性,如href、id、class等
  3. 文本节点:所有的文本(标签里面的文字),如链接名
  4. 其他

2.2 查找节点

节点关系:针对的找亲戚返回的都是对象

2.2.1父节点查找

parentNode属性

返回最近一级的父节点,找不到返回为null

语法:子元素.parentNode

2.2.2 子节点查找

childNodes:获取所有子节点,包括文本节点(空格、换行)、注释节点等

children属性(重点):1)仅获得所有元素节点;2)返回的还是一个伪数组

语法:父元素.children

2.2.3 兄弟关系查找

下一个兄弟节点:nextElementSibling属性

上一个兄弟节点:previousElementSibling属性

语法:父元素.nextElementSibling/previousElementSibling

2.3 增加节点

步骤:

  1. 创建一个新的节点
  2. 把创建的新节点放入到指定的元素内部

创建节点
即创造出一个新的网页元素,再添加到网页内,一般先创建节点,然后插入节点

创建元素节点方法:

// 创造一个新的元素节点
document,createElement("标签名")

追加节点
要想在界面看到,还得插入到某个父元素中

插入到父元素的最后一个子元素:

// 插入到这个文元素的最后
父元素.appendChild(要插入的元素)

插入到父元素中某个子元素的前面

// 插入到某个子元素的前面
父元素.insertBefore(要插入的元素,在哪个元素前面)
  • 特殊情况下,我们新增节点,按照如下操作:
    1. 复制一个原有的节点
    2. 把复制的节点放入到指定的元素内部

克隆节点

// 克隆一个已有的元素节点
元素.cloneNode(布尔值)

cloneNode会克隆出一个跟原标签一样的元素,括号内传入布尔值

  • 若为true,则代表克隆时会包含后代节点一起克隆
  • 若为false,则代表克隆时不包含后代节点
  • 默认为false
const ul = document .querySelector( 'ul')
// 1 克隆节点 元素.cloneNode(true)
//const li1 = ul.children[0].cloneNode(true)
// console.Log(li1)
// 2.追加
//ul.appendChild(li1)
ul.appendChild(ul.children[0].cloneNode(true))
//

2.4 删除节点

  • 若一个节点在页面中已不需要时,可以删除它
  • 在JavaScript 原生DOM操作中,要删除元素必须通过父元素删除
  • 语法:父元素.removeChild(要删除的元素)
  • 注意:
    1. 如不存在父子关系则删除不成功
    2. 删除节点和隐藏节点 (display:none) 有区别的: 隐藏节点还是存在的,但是删除则从html中删除节点
const ul = document.querySelector( 'ul' )
// 删除节点 父元素.removeChlid( 于元素)
ul.removeChild(ul.children[0])

3. M端事件

移动端也有自己独特的地方。比如触屏事件 touch (也称触摸事件),Android 和I0S 都有。

  • 触屏事件 touch (也称触摸事件),Android 和IOS 都有。
  • touch 对象代表一个触摸点。触摸点可能是一根手指,也可能是一根触摸笔。触屏事件可响应用户手指(或触控笔)对屏幕或者触控板操作。
  • 常见的触屏事件如下:
    在这里插入图片描述
<body>
	<div></div>
	<script>
		const div = document.querySelector( 'div' )
		// 1.触摸
		div.addEventListener('touchstart', function () {
			console.log('开始摸我了')
		// 2.离开
		div.addEventListener('touchend', function () {
			console.log('离开了')
		// 3.移动
		div.addEventListener('touchmove',function () {
			console.log("一直摸,移动')
	}
</script>
</body>

swiper插件的使用

插件:就是别人写好的一些代码,我们只需要复制对应的代码,就可以直接实现对应的效果

学习插件的基本过程:

  1. 熟悉官网,了解这个插件可以完成什么需求https://www.swiper.com.cn/
  2. 看在线演示,找到符合自己需求的demo https://www.swiper.com.cn/demo/index.html
  3. 查看基本使用流程 https://www.swiper.com.cn/usage/index.html
  4. 查看APi文档,去配置自己的插件 https://www.swiper.com.cn/api/index.html
  5. 注意:多个swiper同时使用的时候,类名需要注意区分

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

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

相关文章

React语法(N)

文章目录 React简介概述官网特点生态 react学习的说明新的官网全力投入现代React与Hooks React脚手架create-react-app官网创建和启动项目项目结构sass支持 Vite创建和启动项目项目结构常见配置 虚拟DOM什么是虚拟DOM虚拟DOM优缺点优点&#xff1a;缺点&#xff1a; 虚拟DOM实现…

CTF之命令执行常见绕过

命令执行常见绕过 1.空格代替 当我们执行系统命令时&#xff0c;不免会遇到空格&#xff0c;如cat flag.txt&#xff0c;当空格被程序过滤时&#xff0c;便需要利用以下字符尝试代替绕过&#xff1a; < ${IFS} $IFS$9 %09测试如下&#xff1a; $IFS 在 linux 下表示分隔…

增长黑武器|LTD荣获“2023中国工业数字化赋能奖先锋”

​ 2014年&#xff0c;北京 2015年&#xff0c;南昌 2016年&#xff0c;上海 ...... 2022年&#xff0c;南京 2023年&#xff0c;4月21日 由中国生产力促进中心协会数字经济工作委员会提供指导&#xff0c;由托比网主办的“第六届中国工业数字化高峰论坛”在上海举行。本…

力扣sql中等篇练习(十)

力扣sql中等篇练习(十) 1 查询回答率最高的问题 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # count(具体字段)会自动不统计null值 SELECT t1.question_id survey_log FROM (SELECT question_id,count(answer_id)/count(*) rFROM SurveyLogGROUP…

STM32常用的开发工具有哪些

这么多工具&#xff0c;选择困难啊&#xff0c;先列出来&#xff0c;以后有选择了给大家说&#xff0c;对了&#xff0c;2023年还有一个新玩法就是VSCode 本文为大家汇总 STM32 常用的一些开发工具。 IDE&#xff08;集成开发环境&#xff09; IDE&#xff1a;IntegratedDeve…

springboot_模拟01

demo 模拟springboot pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.…

李沐读论文笔记--大模型时代下做科研的四个思路

大模型时代下做科研的四个思路 0. 视频来源&#xff1a;1. 提高效率&#xff08;更快更小&#xff09;1.1 PEFT介绍(parameter efficient fine tuning)1.2 作者的方法1.3 AIM效果1.3.1AIM 在 K400 数据集上的表现1.3.2AIM 在 Something-Something 数据集、K700 数据集和 Diving…

《程序员面试金典(第6版)》面试题 16.01. 交换数字(位运算符,异或性质)

题目描述 编写一个函数&#xff0c;不用临时变量&#xff0c;直接交换numbers [a, b]中a与b的值。 示例&#xff1a; 输入: numbers [1,2]输出: [2,1] 提示&#xff1a; numbers.length 2-2147483647 < numbers[i] < 2147483647 解题思路与代码 这道题不让使用额外…

spring getway的配置

1. 创建工程 getway-server 2. 添加 pom 依赖&#xff1a; <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId> </dependency> 3. 添加启动类 4. 添加配置文件&#xff…

【安全防御】IPsec VPN

1.什么是数据认证&#xff0c;有什么用&#xff0c;有哪些实现的技术手段&#xff1f; 在计算机和网络安全领域中&#xff0c;数据认证是指验证数据在传输和存储过程中的完整性、真实性和合法性的过程。数据在传输和存储过程中容易受到数据篡改、损坏或未经授权的访问和修改的…

用Keras单层网络预测银行客户流失率

用Keras单层网络预测银行客户流失率 描述 已知一批客户数据&#xff0c;来预测某个银行的客户是否流失。通过学习历史数据&#xff0c;如果机器能判断出哪些客户很有可能在未来两年内结束在银行的业务&#xff08;这当然是银行所不希望看到的&#xff09;&#xff0c;那么银行…

基于vue+laravel技术框架开发的:PHP不良事件上报系统源码

医院安全&#xff08;不良&#xff09;事件上报系统源码&#xff0c;PHP不良事件上报系统源码 系统定义&#xff1a; 规范医院安全&#xff08;不良&#xff09;事件的主动报告&#xff0c;增强风险防范意识&#xff0c;及时发现医院不良事件和安全隐患&#xff0c;将获取的医…

成都建博会:家居行业数字营销金点子 句句戳心坎,先收藏

四月&#xff0c;不仅是人间最美天&#xff0c;也是第二季度的开始。随着气温上升&#xff0c;行业进入了活跃期。对于西南地区的家居行业从业者来说&#xff0c;来一趟一年一度的成都建博会&#xff0c;总能获得无尽的灵感&#xff0c;对后续更加充满期待。而与同行的交流&…

美国主机常见的安全漏洞与防范方法详解

在今天的数字时代&#xff0c;保护计算机系统和数据安全至关重要。不幸的是&#xff0c;网络安全问题在过去几年中已经成为全球性的问题。攻击者利用各种漏洞和技巧来入侵系统&#xff0c;以窃取敏感信息、加密数据或者破坏系统。在本文中&#xff0c;我们将探讨美国主机常见的…

HTML5 语义元素

文章目录 HTML5 语义元素什么是语义元素?浏览器支持HTML5中新的语义元素HTML5 \<section> 元素HTML5 \<article> 元素HTML5 \<nav> 元素HTML5 \<aside> 元素HTML5 \<header> 元素HTML5 \<footer> 元素HTML5 \<figure> 和 \<figc…

Git Commit message 编写规范

介绍 在 Git 中&#xff0c;每次提交代码&#xff0c;都要写 Commit message&#xff08;提交说明&#xff09;&#xff0c;否则就不允许提交。这个操作将通过 git commit 完成。 git commit -m "hello world"上面代码的-m参数&#xff0c;就是用来指定 commit mes…

你怎么知道我什么都不会

文章目录 查询的存储过程增删改的存储过程返回拼音缩写自动填充拼音缩写的触发器销售完整销售业务存储过程 实现查询销售记录及销售明细退货业务实现营业员对当天销售的扎帐处理存储过程 阿巴阿巴高可用 阿玛阿玛碰运气 文心一言 耶耶耶耶耶 查询的存储过程 创建货品信息查…

kafka--python

文章目录 1、kafka是什么2、docker上部署kafka3、在kafka容器内部署python&#xff0c;并跑通生产者-消费者简单代码4、最新接口4.1、kafka_config.py4.2、kafka_interface.py4.3、run.py4、测试 1、kafka是什么 Producer&#xff1a;即生产者&#xff0c;消息的产生者&#xf…

PICO一方打造:VR音游《闪韵灵境》体验

​《闪韵灵境》本周正式上线&#xff0c;作为PICO一方工作室的首款作品&#xff0c;不少玩家对此寄予厚望。即便是作为一个轻轻度VR音游的用户&#xff0c;经过简短体验&#xff0c;我也发现了闪韵灵境和目前热门的Beat Saber之间的一些差异点。以下是我在简短体验后的一些看法…

Java选择排序、二分查找

一、选择排序 1.选择排序的思想 每轮选择当前的位置&#xff0c;开始找后面的较小值与该位置进行交换。 第一轮&#xff1a;选择当前位置&#xff0c;开始找后面的较小值与该位置进行交换。 5与1交换后&#xff0c;1就在当前位置&#xff0c;因此&#xff0c;1与后面的所有值…