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. ...
随机推荐
- LeetCode-038-外观数列
外观数列 题目描述:给定一个正整数 n ,输出外观数列的第 n 项. 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述. 你可以将其视作是由递归公式定义的数字字符串序列: ...
- oauth2.0密码模式详解
oauth2.0密码模式 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章http://www.javaman.cn/sb2/oauth-password 如果你高度信任某个应用, ...
- C# NPOI导出数据到Excel
1 public void Export() 2 { 3 //创建工作簿对象 4 IWorkbook workbook = new XSSFWorkbook(); 5 6 ExportStatisti ...
- 利用mysqldump 与 nginx定时器 定时备份mysql库
1.安装mysqldump(如果备份远程mysql库,本地不用安装mysql 也可以单独使用) yum -y install holland-mysqldump.noarch 2.编写备份脚本 首先这 ...
- Laravel 自定命令以及生成文件
以创建service层为例子 1.执行命令 php artisan make:command ServiceMakeCommand 2.在app\Console\Commands 下就会多出一个 Se ...
- 0x02 TeamViewer日志溯源
1.环境部署 1.安装ubuntu_x64的deb安装包 2.打开TeamViewer 2.日志目录 1.通过图形应用找到日志文件 2.通过命令定位日志文件 find / -name "Te ...
- 怎么做好企业IT运维工作
维的工作层次来分,又分为硬件运维.桌面运维.系统运维.数据库运维和应用运维.他们运维的设备,小的从个人电脑,大的到数以亿计的高精尖计算设备(比如 大型机 ). 根据公司 IT 系统规模的不同,运维团队 ...
- pandas常用操作详解——pandas的去重操作df.duplicated()与df.drop_duplicates()
df.duplicated() 参数详解: subset:检测重复的数据范围.默认为数据集的所有列,可指定特定数据列: keep: 标记哪个重复数据,默认为'first'.1.'first':标记重复 ...
- 分布式锁用Redis与Zookeeper的使用
为什么用分布式锁? 在讨论这个问题之前,我们先来看一个业务场景: 系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会 ...
- Docker修改默认IP
Docker修改默认IP 删除原有配置 sudo systemctl stop docker sudo ip link set dev docker0 down sudo brctl delbr do ...