我试图编写一个Greasemonkey脚本,该脚本挂钩到特定元素的onclick
。以下是不起作用的代码(似乎被默默忽略,没有可观察到的效果(:
img = document.evaluate('//img [@title="Play / Pause"]', document.body).iterateNext()
result = img.addEventListener("click", OnPlay)
在一次聊天中,我得到了一个类似但有效的解决方案:
Array.from(document.querySelectorAll('img[title="Play / Pause"]')).forEach(elem => elem.addEventListener("click", OnPlay))
除了一个是功能性的,另一个是命令性的之外,是什么让其中一个起作用,而另一个不起作用?控制台似乎没有给我任何线索。
我只是在黑暗中摸索,其中确实包含了答案。因此,这个问题不会一直没有答案,我补充了这一点。
问题显然是两个脚本不等价,iterateNext((只返回一个元素,而不返回多个元素。