getElementsByClassName发出多个链接

时间:2017-09-15 18:35:32

标签: 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>

1 个答案:

答案 0 :(得分:3)

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;
    }
}

另外,我假设您使用jQuery是因为$.post。如果是这样,你可以这样做:

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