我需要向转推添加一个事件监听器,喜欢和不喜欢按钮。它们都具有相同的ID,所以现在只有顶部的推文才会增加。这是一个学校的项目,所以我只能使用原始的JS。这是一个小提琴的链接:
https://jsfiddle.net/1sc7g5ko/
这就是我的JS看起来像
var retweets;
retweets = 0;
var likes;
likes = 0;
var dislikes;
dislikes = 0;
document.getElementById("retweet").addEventListener("click", retweetClicked);
function retweetClicked(){
document.getElementById("retweet").innerHTML = retweets += 1;
};
document.getElementById("likes").addEventListener("click", likeClicked);
function likeClicked(){
document.getElementById("likes").innerHTML = likes += 1;
};
document.getElementById("dislikes").addEventListener("click", dislikeClicked);
function dislikeClicked(){
document.getElementById("dislikes").innerHTML = dislikes += 1;
};
答案 0 :(得分:3)
元素ID在整个文档中应该是唯一的。如果您有多个具有相同ID的元素,则您的HTML无效。
来源:Can multiple different HTML elements have the same ID if they're different types?
我建议你use classes instead,它支持多个元素具有相同的类。
然后,您可以使用document.getElementsByClassName("name")
获取该类的所有元素的列表。