我正在开发一个可以制作很多按钮的用户脚本,但我似乎无法为它们提供一个独特的功能。
我已经试过了
downArrow.onclick = function (){downVote(id, username)};<br>
和
downArrow.onclick = "downVote(\"" + id + "\", \"" + username + "\")";
但它们不起作用。然后我在某处读到只有以下内容:
downArrow.addEventListener('click', downVote(id, username), false);
这导致所有按钮只会对迭代的最后一个 ID 和用户名投反对票。
我希望它们都具有独特的 onclick 功能。
整个for循环:
var targetPosts = document.getElementsByClassName("thing message");
for (var i=0;i<targetPosts.length;i++)
{
try
{
id = targetPosts[i].getAttribute("data-fullname");
username = targetPosts[i].childNodes[4].childNodes[1].childNodes[0].childNodes[1].childNodes[1].childNodes[0].innerHTML;
var upArrow=document.createElement("DIV");
upArrow.className = "arrowUp";
upArrow.id = id + "up";
upArrow.addEventListener('click', function(){ upVote(id, username)} , false);
var downArrow=document.createElement("DIV");
downArrow.className = "arrowDown";
downArrow.id = id + "down";
downArrow.addEventListener('click', function(){ downVote(id, username)} , false
targetPosts[i].childNodes[3].appendChild(upArrow);
targetPosts[i].childNodes[3].appendChild(downArrow);
}
catch(err){}
}