html5——DOM扩展
元素获取
1、document.getElementsByClassName ('class') 通过类名获取元素,以类数组形式存在。
2、document.querySelector(‘div’) 通过CSS选择器获取元素,符合匹配条件的第1个元素。
3、document.querySelectorAll('selector') 通过CSS选择器获取元素,以类数组形式存在。
类名操作
1、Node.classList.add('class') 添加class
2、Node.classList.remove('class') 移除class
3、Node.classList.toggle('class') 切换class,有则移除,无则添加
4、Node.classList.contains('class') 检测是否存在class
自定义属性
1、自定义属性格式:data-*="",例如data-info="informant"。
2、自定义属性获取:上例,通过Node.dataset['info'] 我们便可以获取到自定义的属性值informant
3、Node.dataset是以类对象形式存在的当我们如下格式设置时,则需要以驼峰格式才能正确获取:data-my-name="itcast",获取Node.dataset['myName']
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
padding: 0;
margin: 0;
} div {
width: 400px;
height: 600px;
margin: 100px auto;
} nav li {
width: 100px;
height: 30px;
list-style: none;
float: left;
background-color: #cccccc;
text-align: center;
font: 400 14px/30px "simsun";
cursor: pointer;
} .current {
background-color: yellow;
} section {
width: 400px;
height: 500px;
font: 700 40px/500px "simsun";
text-align: center;
background-color: blue;
display: none;
} .show {
display: block;
}
</style>
</head>
<body>
<div>
<nav>
<ul>
<li data-cont="shine" class="current">阳光</li>
<li data-cont="beach">沙滩</li>
<li data-cont="cacti">仙人掌</li>
<li data-cont="captain">老船长</li>
</ul>
</nav>
<section id="shine" class="show">阳光</section>
<section id="beach">沙滩</section>
<section id="cacti">仙人掌</section>
<section id="captain">老船长</section>
</div>
<script>
var liNavArr = document.querySelectorAll("nav li");
for (var i = 0; i < liNavArr.length; i++) {
liNavArr[i].onclick = function (ev) {
var li = document.querySelector(".current");
li.classList.remove("current");
this.classList.add("current");
var id = this.dataset["cont"];
var oldSec = document.querySelector(".show");
oldSec.classList.remove("show");
var curSec = document.querySelector("#" + id);
curSec.classList.add("show");
}
}
</script>
</body>
</html>

html5——DOM扩展的更多相关文章
- HTML5 DOM扩展
一.选择符 1. querySelector()方法:返回与该模式匹配的第一个元素 //取得body元素 var body = document.querySelector("body&qu ...
- DOM扩展札记
Selector API HTML5 DOM扩展 Element Traversal规范 Selector API 众多JavaScript库中,最常用的一个功能就是根据css选择符选择与某个模式匹配 ...
- HTML5部分新标签属性及DOM扩展元素
HTML5定义了一系列新元素,如新语义标签.智能表单.多媒体标签等. 我们日常讨论的H5其实是一个泛称,它指的是由HTML5 + CSS3 + Javascript等技术组合而成的一个应用开发平台. ...
- HTML5学习笔记(二十四):DOM扩展
DOM扩展 DOM标准扩展最开始都是来自各个浏览器的自定义扩展DOM的功能,后被收录为标准的DOM相关API. 本笔记只记录被各大浏览器支持的标准扩展,对于特定浏览器的专有扩展不讨论. 选择符API ...
- DOM扩展-Selectors API(选择符 API)、元素遍历
DOM扩展 对DOM的两个主要扩展是SelectorsAPI(选择符API)和HTML5 SelectorsAPI(选择符API)是由W3C发起制定的一个标准,致力于浏览器原生支持CSS查询,Sele ...
- dom扩展
第十一章 DOM扩展 一.选择符API 1.querySelector()方法 接收一个CSS选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null. 2. ...
- 11. javacript高级程序设计-DOM扩展
1. DOM扩展 1.1 选择符API l querySelector() 接收一个css选择符,返回与该模式匹配的第一个元素 l querySelectorAll() 接收一个css选择符,返回所有 ...
- js-DOM,DOM扩展
DOM: 1. 了解节点的信息:nodeName(属性的标签名),nodeValue两个属性 在取得信息之前要进行判断是不是节点,节点类型由12个数值常量进行表示 2.每个节点都有一个childNod ...
- 《JAVASCRIPT高级程序设计》DOM扩展
虽然DOM为XML及HTML文档交互制定了一系列的API,但仍然有几个规范对标准的DOM进行了扩展.这些扩展中,有很多是浏览器专有的,但后来成了事实标准,于是其他浏览器也提供了相同的实现:浏览器开发商 ...
随机推荐
- JS动态添加div,然后在div中添加元素
需求: 组织部中有个这样的需求,根据年份动态显示该年份下的定性指标! 我的做法: 先是放一个空的div,让后根据指标的数据,动态的往div中添加元素. 代码: 空的div,存放定性指标 <div ...
- BZOJ(7) 1085: [SCOI2005]骑士精神
1085: [SCOI2005]骑士精神 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3233 Solved: 1911[Submit][Stat ...
- 奇妙的滚动css+html
<html lang="zh-CN"> <head> <meta charset="UTF-8"> <title> ...
- Android GIS开发系列-- 入门季(5) FeatureLayer加载本地shp文件与要素查询
FeatureLayer是要素图层,也是Arcgis的主要图层.用这个图层可以加载本地的shp文件.下面我们看怎样加载shp文件到MapView中.查看ArcGis API可知FeatureLayer ...
- Android GIS开发系列-- 入门季(4) GraphicsLayer的点击查询要素
上一讲中我们学会了如何在MapView中添加Graphic要素,那么在百度或高德地图中,当我们点击要素时,会显示出相应的详细信息.在GraphicsLayer中也提供了这样的方法.下面我们来学习在Gr ...
- docker国内镜像拉取和镜像加速registry-mirrors配置修改
docker国内镜像拉取和镜像加速registry-mirrors配置修改 学习了:http://blog.csdn.net/u014231523/article/details/61197945 站 ...
- Python&MySQL
环境:windows8+Python2.7+MySQL5.6 尝试过在C/C++中嵌入SQL语言,最终在其复杂"繁琐"环境配置中败下阵来,后来发现Python和MySQL比較eas ...
- CloudEngine 6800基础配置-02_常用命令操作
查看未提交配置 system-view ftp server enable display configuration candidate 删除未提交的配置 clear configurati ...
- addSubview和insertSubview 区别
子视图是以栈的方式存放的. 每次addsubview时都是在最后面添加. 每次在addsubview前和addsubview后可以看看[self.view.subViews count]: 你看看你 ...
- Android 自己定义Activity基类
我们在开发App的时候有时候碰到多个界面有一个共同点的时候.比方,都有同样的TitleBar.而且TitleBar能够设置显示的文字.TitleBar上的点击事件,假设给每个Activity都写一遍T ...