• 自定义属性


    1.获取自定义属性的值,需要使用 getAttribute("自定义属性的名字") 才能获取这个属性的值。

    <style>
      li {
        list-style: none;
        margin: 10px 0;
      }
    </style>
    <ul>
      <li score="10">王二</li>
      <li score="20">张三</li>
      <li score="30">李四</li>
      <li score="40">老五</li>
    </ul>
    <script>
      // html标签中没有什么自带的属性可以存储成绩的
      // 本身html标签没有这个属性,自己添加的---自定义属性---为了存储一些数据
    
      // 在html标签中添加自定义属性,如果想要获取这个属性的值,
      // 需要使用getAttribute("自定义属性的名字")才能获取这个属性的值
    
      // 获取所有的li标签
      var list = document.getElementsByTagName("li");
      for (var i = 0; i < list.length; i++) {
        list[i].onclick = function () {
          // alert(this.score); // undefined
    
          alert(this.getAttribute("score")); // 可以
        }
      }
    </script>

    2.设置自定义属性的值,需要使用 setAttribute("属性的名字","属性的值") 来设置。

    <ul>
      <li>王二</li>
      <li>张三</li>
      <li>李四</li>
      <li>老五</li>
    </ul>
    <script>
      var list = document.getElementsByTagName("li");
      for (var i = 0; i < list.length; i++) {
        // 为每个li添加自定义属性
        // list[i].score = (i + 1) * 10;// 此方式,自定义属性在DOM对象上,不在标签中
        list[i].setAttribute("score", (i + 1) * 10);
      }
    </script>

    打开控制台可以发现属性已经被添加好了:

    3.移除自定义属性,使用 removeAttribute("属性的名字") ,同时这个属性也能移除元素自带的属性。

    <style>
      div {
         200px;
        height: 100px;
        background-color: yellow;
      }
    
      .cls {
        background-color: green;
      }
    </style>
    <input type="button" value="移除自定义属性" id="btn" />
    <div id="dv" score="10" class="cls"></div>
    <script>
      function my$(id) {
        return document.getElementById(id);
      }
      // 点击按钮移除元素的自定义属性
      my$("btn").onclick = function () {
        // my$("dv").removeAttribute("score");
        // 移除元素的样式
        // 值没有了,但是属性还是有的
        // my$("dv").className = "";
        // 也可以移除元素的自带属性
        my$("dv").removeAttribute("class");
      }
    </script>

    按下按钮前:

    按下按钮后:

  • 相关阅读:
    Java加密作业
    作业
    思考动手
    方法作业
    课堂2数字输出
    字符型转整形
    课堂验证作业
    Eclipse @override报错解决
    用注解配置动态代理
    动态代理模式
  • 原文地址:https://www.cnblogs.com/muzidaitou/p/12468726.html
Copyright © 2020-2023  润新知