javascript - 多个链接的 getElementsByClassName 问题

标签 javascript jquery ajax

下面的代码是一个示例 - 我想在页面上有多个链接来激活相同的功能,但我只能使用 GetElementsByClass 获取页面上的第一个链接来激活该功能。

<script>
    window.onload = function() {


        var a = document.getElementsByClassName('watchlist')[0];

        a.onclick = function() {

            $.post("watchlistinsert.php?symbol=AAPL&price=25&watchlistgroupid=1");

            return false;
        }
    }
</script>
<body>
<a class="watchlist" href="##">linky</a>
<a class="watchlist" href="#">linky1</a>
<a class="watchlist" href="#">linky2</a>
<a class="watchlist" href="#">linky3</a>
</body>

最佳答案

getElementsByClassName 为您提供一个包含所有匹配元素的数组。所以你应该循环遍历它们,如下所示:

var elements = document.getElementsByClassName('watchlist');
for(var i=0; i<elements.length; i++){
    elements[i].onclick = function() {
        $.post("watchlistinsert.php?symbol=AAPL&price=25&watchlistgroupid=1");
        return false;
    }
}

此外,由于 $.post,我假设您正在使用 jQuery。如果是这样,你可以这样做:

$('.watchlist').click(function(){
  $.post("watchlistinsert.php?symbol=AAPL&price=25&watchlistgroupid=1");
  return false;
});

关于javascript - 多个链接的 getElementsByClassName 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46245631/

相关文章:

javascript - 满足特定条件时自动选中复选框

javascript - 如何在 nvd3 饼图的工具提示中获取百分比?

javascript - sticky-kit 粘时会闪烁

jquery - 按下 Enter 键时,对空文本框不执行任何操作

javascript - 分组图表栏上的 d3 栏标签

javascript - 将 JSON 视为树结构

javascript - 按 unix 时间戳对不可解析的表排序器日期列进行排序

javascript - ajax无法显示哈希符号

jquery - django 表单和 ajax

javascript - 我如何为多个元素更改具有相同元素 ID 的 css