我正在尝试在 Chrome 扩展程序中编写一个事件监听器,当用户将鼠标悬停在链接上时,该事件监听器会更改链接的样式。
document.addEventListener("mousemove", function(e) {
console.log(e.target.tagName);
});
我不确定这是否是与 Google 结果页面无关的问题,但页面上的许多链接在鼠标悬停时不会为 tagName 打印“A”(例如,搜索结果为“H3”)。在检查页面时,看起来“H3”是“A”的子元素,但我真的只想检查这个元素是否是 <a>
本身或包含在<a>
中,因此它适用于页面上的所有链接。
除了必须在整个树上查找所有父级以查看其中是否有 <a>
之外,还有其他方法可以做到这一点吗? ?
最佳答案
您应该在页面中查询所有 <a>
元素,然后绑定(bind)到它们的 onmouseover
事件。
它应该看起来像这样:
var links = document.getElementsByTagName('a');
var a;
for(var i = 0;i < links.length;i++){
a = links[i];
console.log(a);
// now you can just:
// a.addEventListener(....);
}
关于javascript - 检查 elem 是否是鼠标悬停在 Google 结果页面上的超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52837607/