jQuery的data() 和 h5 的 dataset()


作用:获取自定义属性

命名规则:驼峰命名法  data-user==>user data-user-name==>userName

区别:jQuery:操作内存   h5: 操作DOM

jQuery修改自定义属性后,在DOM看不到改变,而h5可以

    

 

       

 

 

用法:

 

使用场景:Tab切换(通过自定义属性与内容相关联,内容可以打乱顺序)

 1 <body>
 2 <ul class="nav">
 3     <!--在渲染的时候  大小的属性会转换成小写 -->
 4     <li data-content-id="content01">菜单1</li>
 5     <li data-content-id="content02" class="active">菜单2</li>
 6     <li data-content-id="content03">菜单3</li>
 7     <li data-content-id="content04">菜单4</li>
 8 </ul>
 9 <ul class="box">
10     <li id="content01">内容1</li>
11     <li id="content03">内容3</li>
12     <li id="content04">内容4</li>
13     <li id="content02" class="show">内容2</li>
14 </ul>
15 <!-- css序号选择器伪类选择器  E:first-child-->
16 <!-- 查找顺序:
17 通过E确定父元素
18 通过父元素找到所有的子元素
19 再去找第一个子元素
20 找到第一个子元素之后再去匹配类型是不是E  不是:无效选择器
21 ul:last-child
22 -->
23 <script>
43     /*tab切换*/
44     window.onload = function () {
45         document.querySelector('.nav').onclick = function (e) {
46             var currentLi = e.target;
47             /*已经选中 停止操作*/
48             if(currentLi.classList.contains('active')) return false;
49 
50             var oldLi = document.querySelector('.nav li.active');
51             /*1.更改样式*/
52             oldLi.classList.remove('active');
53             currentLi.classList.add('active');
54             /*2.根据选中的页签去显示对应的内容*/
55             /*隐藏之前的*/
56             var oldContent = document.querySelector('#'+oldLi.dataset.contentId);
57             oldContent.classList.remove('show');
58             /*显示当前的*/
59             var currentContent = document.querySelector('#'+currentLi.dataset.contentId);
60             currentContent.classList.add('show');
61         }
62     }
63 </script>
64 </body>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM