LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[转帖]js自定义属性的操作以及相关案例

liguoquan
2024年3月8日 14:54 本文热度 283
:js自定义属性的操作以及相关案例


自定义属性的操作

1.获取属性值

  • element.属性 获取属性值

  • element.getAttribute(‘属性’);

解释<body>   <div id="demo" index="1"></div>
   <script>
       var div = document.querySelector('div');       //1.获取元素的属性值
       //(1)element.属性
       console.log(div.id);       //(2)elemnt.getAttribute('属性') get得到获取attribute属性的意思  自己添加的属性称为自定义属性index
       console.log(div.getAttribute('id'));       console.log(div.getAttribute('index'));   </script></body>

区别:

  • element.属性 获取内置属性值(元素本身自带的属性)

  • element.getAttribute(‘属性’); 主要获得自定义的属性(标准)我们程序员自定义的属性。

2.设置属性值

  • element.属性=‘值’设置内置属性值。

  • element . setAttribute(‘属性’,‘值’) ;

3.移除属性removeAttribute(属性)

解释<body>   <div id="demo" index="1"></div>
   <script>
       var div = document.querySelector('div');       //1.获取元素的属性值
       //(1)element.属性
       console.log(div.id);       //(2)elemnt.getAttribute('属性') get得到获取attribute属性的意思  自己添加的属性称为自定义属性index
       console.log(div.getAttribute('id'));       console.log(div.getAttribute('index'));       //2.设置元素属性值
       // (1)element.属性='值'
       div.id = 'test';
       div.className = 'navs';       //(2)element . setAttribute('属性','值') ; 主要针对自定义属性
       div.setAttribute('index',2);
       div.setAttribute('class','footer'); //class 特殊    这里面写的就是class 而不是className
       //3.移除属性removeAttribute(属性)
       div.removeAttribute('index');   </script></body>

案例:tab栏切换(重点案例)

  • 当鼠标点击上面相应的选项卡(tab),下面内容跟随变化

**

案例分析:

**

Tab栏切换有2个大的模块
上的模块选项卡,点击某一个,当前这一个底色会是红色,其余不变(排他思想)修改类名的方式
下面的模块内容,会跟随上面的选项卡变化。所以下面模块变化写到点击事件里面。
规律:下面的模块显示内容和上面的选项卡-对应 ,相匹配。
核心思路:给.上面的tab_ list 里面的所有小i添加自定义属性,属性值从0开始编号。
当我们点击tab_ list里面的某个小i,让tab_ .con 里面对应序号的内容显示,其余隐藏(排他思想)

解释<style>
       * {           margin: 0;           padding: 0;
       }
       
       li {
           list-style-type: none;
       }
       
       .tab {           width: 978px;           margin: 100px auto;
       }
       
       .tab_list {           height: 39px;           border: 1px solid #ccc;
           background-color: #f1f1f1;
       }
       
       .tab_list li {           float: left;           height: 39px;
           line-height: 39px;           padding: 0 20px;
           text-align: center;           cursor: pointer;
       }
       
       .tab_list .current {
           background-color: #c81623;           color: #fff;
       }
       
       .item_info {           padding: 20px 0 0 20px;
       }
       
       .item {           display: none;
       }
   </style>
</head><body>
   <div class="tab">
       <div class="tab_list">
           <ul>
               <li class="current">商品介绍</li>
               <li>规格与包装</li>
               <li>售后保障</li>
               <li>商品评价(50000)</li>
               <li>手机社区</li>
           </ul>
       </div>
       <div class="tab_con">
           <div class="item" style="display: block;">
               商品介绍模块内容           </div>
           <div class="item">
               规格与包装模块内容           </div>
           <div class="item">
               售后保障模块内容           </div>
           <div class="item">
               商品评价(50000)模块内容           </div>
           <div class="item">
               手机社区模块内容           </div>
       </div>
   </div></head><body>
   <script>
       //1.获取元素
       var tab_list = document.querySelector('.tab_list');
       var lis = tab_list.querySelectorAll('li');
       var items = document.querySelectorAll('.item');
       //for循环绑定点击事件
       for(var i = 0; i<lis.length; i++){
           //开始给5个小li 设置索引号
           lis[i].setAttribute('index',i);
           lis[i].onclick = function(){
               //干掉所有人  其余的li清除 class 这个类
               for(var i = 0; i<lis.length; i++){
                   lis[i].className = '';
               }
               //留下我自己
               this.className = 'current';
               //2.下面的显示内容模块
               var index = this.getAttribute('index');
               console.log(index);
               //干掉所有人  让其余的item 这些div隐藏
               for(var i = 0; i < items.length; i++){
                   items[i].style.display='none';
               }
               items[index].style.display = 'block';
           }
       }
   </script>
</body>

H5自定义属性

  • 自定义属性目的:是为了保存并使用数据。有些数据可以保存到页面中而不用保存到数据库中。

  • 自定义属性获取是通过getAttribute(属性’)获取。

  • 但是有些自定义属性很容易引起歧义,不容易判断是元素的内置属性还是自定义属性。

1.设置H5自定义属性

  • H5规定自定义属性data-开头做为属性名并且赋值

2.获取H5自定义属性

1.兼容性获取 element.getAttribute(‘data-index’ );
2. H5新增element.dataset.index或者element.dataset[ "index’]


该文章在 2024/3/8 14:54:56 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved