javascript - 不同对象的getAttribute是一样的

标签 javascript css list onclick

我有一个链接列表,可以切换 div 的显示部分(如轮播),每个链接都有一个幻灯片属性。

在 JavaScript 中,变量 _pagerList 是对象列表,每个对象都会将 div 移动到其对应的幻灯片。问题是它们都做同样的事情,所以我改为警报以查看“数据幻灯片”值和所有返回值 6。

代码

<!doctype html>

<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Document</title>
</head>
<body>
  <ul>
    <li><a class="pager-list" href="" data-slide="1"><img src="http://placehold.it/30" alt="" /></a></li>
    <li><a class="pager-list" href="" data-slide="2"><img src="http://placehold.it/30" alt="" /></a></li>
    <li><a class="pager-list" href="" data-slide="3"><img src="http://placehold.it/30" alt="" /></a></li>
    <li><a class="pager-list" href="" data-slide="4"><img src="http://placehold.it/30" alt="" /></a></li>
    <li><a class="pager-list" href="" data-slide="5"><img src="http://placehold.it/30" alt="" /></a></li>
    <li><a class="pager-list" href="" data-slide="6"><img src="http://placehold.it/30" alt="" /></a></li>
  </ul>

  <script>
    window.onload = function() {
      var _pagerList = document.querySelectorAll('.pager-list');

      for ( var i = 0; i < _pagerList.length; i++ ) {
        var p = _pagerList[i];

        p.onclick = function() {
          alert(p.getAttribute('data-slide')); 

          return false;
        };
      }
    }
  </script>
</body>
</html>

最佳答案

你应该改变这一行

alert(p.getAttribute('data-slide'));

为此

alert(this.getAttribute('data-slide')); 

关于javascript - 不同对象的getAttribute是一样的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18063860/

相关文章:

javascript - Canvas 在圆圈中移动对象

javascript - 相同的代码,相同的浏览器,不同的用户行为

javascript - Codeigniter 3 上的 loadData() 函数

Javascript 显示/隐藏元素

python - 将 OrderedDict 解析为 Python 列表

c++ - C++ 列表中的段错误

javascript - 根据百分比计算两个坐标之间的点

css - 上层中的跨度会干扰下层中的跨度

javascript - 修复了 Bootstrap 中从特定位置开始的侧边栏

python - 列表理解列表列表