【问题标题】:For loop help in javascript? [duplicate]javascript中的循环帮助? [复制]
【发布时间】:2015-08-18 17:07:18
【问题描述】:

JS 代码

<script type="text/javascript">
    var list = document.getElementsByClassName('sortByTestName');

    for (var i = 0; i < list.length; i++) {
        var current = list[i].innerHTML;
        list[i].onclick = function() {
            window.alert(current);
        }

    }
</script>

好的,所以这里的代码通过class name 遍历html 文件查找元素,我创建了一个for loop 来遍历它。所有元素都显示在屏幕上,当单击一个元素时,我想提醒单击的元素的值。例如,假设元素是数字 1-10。它们在页面中垂直显示,当用户点击 3 号浏览器时,应该在框 3 中发出警报。设计/显示方面的一切都在工作。我遇到的问题是,当我单击任何元素时,总是显示最后一个元素。就我们的数字示例而言,如果用户单击数字 5,则显示最后一个数字 10。如果用户单击任何数字,则显示最后一个数字。我相信这是因为整个循环是在单击某些东西之前执行的。我想知道如何解决这个问题。

【问题讨论】:

    标签: javascript html css loops click


    【解决方案1】:

    var list = document.getElementsByClassName('sortByTestName');
    
    for (var i = 0; i < list.length; i++) {
      list[i].onclick = function() {
        window.alert(this.innerHTML);
      }
    }
    div:hover {
      cursor: pointer;
    }
    <div class="sortByTestName">
      <span>Here is some inner html</span>
    </div>
    <div class="sortByTestName">
      <span>Some more inner html</span>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      • 2010-09-23
      相关资源
      最近更新 更多