我希望在这里发布很多具体的代码不是问题,但我认为如果每个人都能看到它会更好地解释它,所以我将给你我的代码然后我会解释我的问题。
我的代码:
function addBeGoneLinks () {
var beGoneClassElems;
var beGoneSpan;
var beGoneLink;
var beGonePrintSafe;
var spacesSpan;
//var middotSpan = document.createElement ('span');
var interactionContainer = document.getElementsByClassName('feedItemInteractionContainer');
for (var i=0; i<children.length; i++)
{
beGonePrintSafe = false;
beGoneClassElems = children[i].getElementsByClassName('beGone')
beGonePrintSafe = true;
if (beGoneClassElems.length == 0)
{
beGoneLink = document.createElement('a');
beGoneLink.href = 'javascript:void(0);';
beGoneLink.appendChild(document.createTextNode('Be Gone'));
beGoneLink.className = 'beGone';
beGoneLink.id = 'beGoneLink' + i.toString();
beGoneLink.addEventListener ("click", function() {beGone();}, false);//This line!
beGoneLink.align = 'right';
spacesSpan = document.createElement('span');
spacesSpan.innerHTML = ' - ';
if (interactionContainer[i] != undefined)
{
interactionContainer[i].appendChild(spacesSpan);
interactionContainer[i].appendChild(beGoneLink);
}
}
}
}
在这里,我有一个来自我正在处理的 Greasemonkey 脚本的函数。当点击其中一个链接时,我的目标是让它调用该函数,该函数beGone()
将除其他外删除几个父级的整个元素,从而删除他们的兄弟姐妹、他们的父母和他们父母的兄弟姐妹,以及一两个之后的水平。
我的想法只是获取被按下的链接的 id 并将其传递给,beGone()
这样我就可以让父母使用它的 id,但我不知道该怎么做。我可以通过它调用的函数传递链接的 id 吗?如果没有,还有其他方法可以做到这一点吗?
我不确定我是否遗漏了一些非常简单的解决方案,但我一直无法在网络上找到一个根深蒂固的解决方案,尤其是因为我不确定如何搜索这个特定问题。