一、自定义属性(html5标准)data-属性名称="属性值"

  • 自定义属性的名称驼峰式命名规则需要用-隔开
  • 自定义属性名称如果连在一起写,大写会自动转为小写
    data-user="eric"======>属性名称是user
data-user-name="eric"===>属性名称是userName
data-userName="eric"=====>属性名称是username

二、jquery的方式操作自定义属性,jQuery方式操作的是内存

三、HTML5的方式获取自定义属性,HTML5操作的是DOM

四、案例:tab切换

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML5自定义属性</title>
<style>
ul{
list-style: none;
width: 400px;
}
.nav li{
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
color: #fff;
background: black;
float: left;
cursor: pointer;
}
ul:first-child li.active{
background: red;
}
.box li{
width: 400px;
height: 400px;
background: pink;
display: none;
}
.box li.show{
display: block;
}
</style>
</head>
<body>
<ul class="nav">
<li data-content-id="content01">菜单1</li>
<li data-content-id="content02" class="active">菜单2</li>
<li data-content-id="content03">菜单3</li>
<li data-content-id="content04">菜单4</li>
</ul>
<ul class="box">
<li id="content01">内容1</li>
<li id="content02" class="show">内容2</li>
<li id="content03">内容3</li>
<li id="content04">内容4</li>
</ul>
<script>
window.onload=function(){
document.querySelector(".nav").onclick=function(e){
// nav部分
var currentLi=e.target;
if(currentLi.classList.contains("active")) return false;
var oldLi=document.querySelector(".nav li.active");
oldLi.classList.remove("active");
currentLi.classList.add("active");
// content部分
var oldContent=document.querySelector("#"+oldLi.dataset.contentId);
oldContent.classList.remove("show");
var currentContent=document.querySelector("#"+currentLi.dataset.contentId);
currentContent.classList.add("show");
}
}
</script>
</body>
</html>

最新文章

  1. 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
  2. JAVA 对象引用,以及对象赋值
  3. Redis使用总结之与Memcached异同
  4. 转载:关于Matlab GUI的一些经验总结
  5. 转载:scikit-learn学习之决策树算法
  6. Win2D 官方文章系列翻译 - 处理设备丢失
  7. @Factory和@DataProvider的区别
  8. linux tar.gz zip 解压缩 压缩命令
  9. http://www.yihaomen.com/article/java/302.htm
  10. PHP字符串操作常用函数
  11. linux关闭声音
  12. Notification和KVO有什么不同
  13. Oracle控制文件操作
  14. Varnish 4.0
  15. asp中的动态数组
  16. maven 常用脚本
  17. LeetCode第十九题-链表节点的删除
  18. MySql 游标定义时使用临时表
  19. PMP学习总结(1) -- 引论
  20. Django 利用 Pagination 简单分页

热门文章

  1. golang面对接口
  2. java之结合代码理解synchronized关键字
  3. NetCore踩坑记1、 一块网卡引发的血案
  4. 9 同时搜索多个index,或多个type
  5. 【洛谷 P3674】 小清新人渣的本愿(bitset,莫队)
  6. iOS webrtc资料总结
  7. Javap与JVM指令
  8. php后台实现页面跳转的方法-转载
  9. vue-cli3 一直运行 /sockjs-node/info
  10. SIM7000C TCP