JS获取 data-* 的值运算且显示span元素

91 阅读1分钟
JS获取 data-age里面的1 2 3 4 5 分别乘以5赋值到sapn元素里面显示为 5 10 15 20 25
<div id="content">
        <div class="name" data-age="1"><span class="age"></span></div>
        <div class="name" data-age="2"><span class="age"></span></div>
        <div class="name" data-age="3"><span class="age"></span></div>
        <div class="name" data-age="4"><span class="age"></span></div>
        <div class="name" data-age="5"><span class="age"></span></div>
    </div>

参考下面例子

 
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
 
<body>
    <div id="content">
        <div class="name" data-age="1"><span class="age"></span></div>
        <div class="name" data-age="2"><span class="age"></span></div>
        <div class="name" data-age="3"><span class="age"></span></div>
        <div class="name" data-age="4"><span class="age"></span></div>
        <div class="name" data-age="5"><span class="age"></span></div>
    </div>
    <script>
        var content = document.getElementById('content'); // 获取父元素
        var names = content.getElementsByClassName('name'); // 获取子元素
        for (var i = 0; i < names.length; i++) { // 循环遍历
            var age = names[i].getAttribute('data-age'); // 获取data-age的值
            names[i].getElementsByClassName('age')[0].innerHTML = age * 5; // 获取span元素并赋值
        }
 
    </script>
</body>
 
</html>

另一种方法:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <div id="content">
      <div class="name" data-age="1"><span class="age"></span></div>
      <div class="name" data-age="2"><span class="age"></span></div>
      <div class="name" data-age="3"><span class="age"></span></div>
      <div class="name" data-age="4"><span class="age"></span></div>
      <div class="name" data-age="5"><span class="age"></span></div>
    </div>
    <script>
      let list = document.querySelectorAll('#content .name')
      list.forEach((item) => {
        item.querySelector('.age').innerHTML = parseInt(item.dataset.age) * 5
      })
    </script>
  </body>
</html>