H5新增API
H5新增API
选择器
querySelector()
和querySelectorAll()
,参数都是css
选择器,前者返回符合条件的第一个匹配的元素,如果没有则返回Null
,后者返回符合筛选条件的所有元素集合,如果没有符合筛选条件的则返回空数组。
getElementsByClassName()
返回一个类似数组的对象,包含了所有指定 class
名称的子元素。当调用发生在document对象上时, 整个DOM都会被搜索, 包含根节点,也可以在任意元素上调用。
document.querySelector('div'); //选择第一个div
document.body.querySelector('p')[0]; //body下第一个p标签
document.getElementsByClassName('red test');
//获取所有 class 同时包括 'red' 和 'test' 的元素
classList属性
- length: 返回
class
数量。 - add(class1, class2, ...):将给定的字符串值添加到列表中。如果值已经存在,就不添加了。
- contains(class):表示列表中是否存在给定的
value
值,如果存在则返回true
,不存在则返回false
。 - remove(class1, class2, ...):移除元素中一个或多个类名,移除不存在的类名不会报错。
- item(index):返回指定索引值的类名,
index
为数字(从0开始),索引不在范围内返回null
,不为数字会被转成数字类型再取整数部分,若转换失败返回第一个类名。 - toggle(value,true || false):将值为
value
的class
在添加和移除之间切换。
classList 属性返回的是一个 DOMTokenList
对象。此属性不兼容IE10以下版本。
Object.prototype.toString.call(node.classList);
//'[object DOMTokenList]'
相对应 className
属性,可以设置或返回元素的 class 。返回的是字符串类型,设置会把原来的 class 值完全覆盖。语法:node.className = className
。
<div class='wrap box'></div>
let oDiv = document.querySelector('div');
console.log(oDiv.className); //'wrap box'
oDiv.className = 'class1';
console.log(oDiv.className); //'class1'
data属性
新的HTML5标准允许在普通的元素标签里,嵌入类似data-*
的属性,来实现一些简单数据的存取。它的数量不受限制,并且也能由js
动态修改,也支持CSS
选择器。
用getAttribute
、setAttribute
存取dataset
。
<div data-id='10' data-name='box'></div>
<script
node.getAttribute('data-id');
node.setAttribute('data-name','test');
</script>
通过.dataset
API 存取dataset
。它返回一个对象,可以通过node.dataset.name
的形式新增或修改。
node.dataset.name = 'test';
内容可编辑
加有contenteditable
属性的元素,点击可以编辑。此属性为布尔属性。
<div contenteditable=true>
<p>i am editable</p>
<p>i am editable too</p>
</div>
本地存储
localStorage
sessionStorage
。Javascript本地存储小结。
scrollIntoView()
Element.scrollIntoView()
方法让当前的元素滚动到浏览器窗口的可视区域内。scrollIntoView MDN
参数为一个布尔值,为true
,元素的顶端将和其所在滚动区的可视区域的顶端对齐;如果为false
,元素的底端将和其所在滚动区的可视区域的底端对齐。
element.scrollIntoView(); // 等同于element.scrollIntoView(true)
本文转载于:猿2048https://www.mk2048.com/blog/blog.php?id=hb1hahik2jb
H5新增API的更多相关文章
- H5新增API和操作DOM
博客原文:https://dobinspark.com.cn/ H5-dom扩展 获取元素 document.getElementsByClassName ('class'); //通过类名获取元素, ...
- h5新API之WebStorage解决页面数据通信问题
localStorage相信大家都不陌生,今天我们要讨论的不是怎么存储数据,获取数据.而是看看WebStorage的一些妙用,相信大家在开发中遇到过这样一个场景,一个页面中嵌套一个iframe,ifr ...
- h5新增标签及css3新增属性
- h5新增的标签 新增元素 说明 video 表示一段视频并提供播放的用户界面 audio 表示音频 canvas 表示位图区域 source 为video和audio提供数据源 track 为vi ...
- H5新增属性classList
H5新增属性classList h5中新增了一个classList,原生js可以通过它来判断获取dom节点有无某个class. classList是html元素对象的成员,它的使用非常简单,比如 co ...
- H5新增特性
1.pattern:写正则,但是需要和form表单连着用 2.WebSocket "网络套接字", 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.在 W ...
- 对飞猪H5端API接口sign签名逆向实验
免责声明 本文章所提到的技术仅用于学习用途,禁止使用本文章的任何技术进行发起网络攻击.非法利用等网络犯罪行为,一切信息禁止用于任何非法用途.若读者利用文章所提到的技术实施违法犯罪行为,其责任一概由读者 ...
- 对iOS10新增Api的详细探究
本文主要是一些对iOS新功能的探索,之前发现博客里关于iOS新功能的分析大多是过于概括,每个功能几句话,无法了解到具体的功能.所以本次的探索是基于Api层面,着重看一些具体用法所做的笔记,本来想分别画 ...
- Uiautomator 2.0之UiDevice新增API学习小记
1. InstrumentationRegistry类 1.1. 类说明: 一个暴露的注册实例,持有instrumentation运行的进程和参数,还提供了一种简便的方法调用instrumentati ...
- web语义化与h5新增标签
Web语义化就是html告诉我们也告诉机器这一块是什么内容,例如:“这行是一个标题,这几行组成一个段落,这是一个列表,那是一个链接.” Web语义化有三个阶段: 1.h1~h6.thead.ul. ...
随机推荐
- JZ-051-构建乘积数组
构建乘积数组 题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1]. ...
- JZ-019-顺时针打印矩阵
顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4 矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...
- Linux CentOS7.X-目录切换
一.cd 命令 在Linux中,进行目录的切换需要使用cd命令. 二.Linux目录结构 三.Linux CentOS7中几个常用目录切换方式 1.cd usr 切换到当前目录下的usr目录. 2. ...
- Java 将XML转为PDF
可扩展标记语言(XML)文件是一种标准的文本文件,它使用特定的标记来描述文档的结构以及其他特性.通过将XML转换为PDF,能够便于文件传输及共享.本文,将介绍通过Java代码来实现该格式转换的方法. ...
- petite-vue源码剖析-事件绑定`v-on`的工作原理
在书写petite-vue和Vue最舒服的莫过于通过@click绑定事件,而且在移除元素时框架会帮我们自动解除绑定.省去了过去通过jQuery的累赘.而事件绑定在petite-vue中就是一个指令(d ...
- MySQL 中如何归档数据
归档,在 MySQL 中,是一个相对高频的操作. 它通常涉及以下两个动作: 迁移.将数据从业务实例迁移到归档实例. 删除.从业务实例中删除已迁移的数据. 在处理类似需求时,都是开发童鞋提单给 DBA, ...
- SQLMAP-Tamper之较为通用的双写绕过
前言 21年省决赛的SQLITE注入就是用的双写绕过,当时是手搓代码打的,这几天想起来了,寻思着写个tamper试试. 一开始以为很简单,后来才发现有很多要注意的点,折磨了挺久. 等弄完才明白为什么s ...
- w10环境vs2017,vs2019配置Opengl快捷方法
最近,计算机图形学老师向我们布置了任务,配置自己的opengl.百度之后我发现很多教程和方法尝试之后,我发现一种简单的方法来分享给大家. 首先我的软件配置是w10专业版系统+Visual Stdio ...
- 聊聊视频中的编解码器,你所不知道的h264、h265、vp8、vp9和av1编解码库
你知道FFmpeg吗?了解过h264/h265/vp8/vp9编解码库吗? 我们日常生活中使用最广泛的五种视频编码:H264(AVC).H265(HEVC).vp8.vp9.av1都分别是什么?由哪些 ...
- 最长公共子串(DP)
DP基础_最长公共子串 Description 两个序列的最长公共子串,这个子串要求在序列中是连续的.如:"bab"和"caba" (可以看出来最长公共子串是& ...