多くのボタンを作成するユーザースクリプトに取り組んでいますが、それらすべてに独自の機能を与えることはできないようです。
私はすでに試しました
downArrow.onclick = function (){downVote(id, username)};<br>
と
downArrow.onclick = "downVote(\"" + id + "\", \"" + username + "\")";
しかし、それらは機能しません。次に、次の機能のみが機能することをどこかで読みました。
downArrow.addEventListener('click', downVote(id, username), false);
これにより、すべてのボタンが反復の最後の ID とユーザー名のみに反対票を投じます。
それらすべてに独自のオンクリック機能を持たせたい。
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){}
}