javascript - 检查 elem 是否是鼠标悬停在 Google 结果页面上的超链接

标签 javascript html google-chrome

我正在尝试在 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/

相关文章:

css - 在 Chrome 的 CSS 中设置不透明度

html - 显示 : table-row & overflow: auto show different behaviour in Chrome, Firefox(和 IE)

javascript - 如何使用 Redux Forms 访问 React 中动态命名字段的值?

javascript - 如何在 Redux reducer 中处理树形实体?

javascript - jquery 使用 .after() 在表中添加行

javascript - 根据 javascript 条件应用样式

html - 如何将段落设置到图像底部?

javascript - 打印/显示 JavaScript 变量的名称而不是它的值

html - 将右侧 float 的 div 扩展到左侧

javascript - 如何在浏览器环境中获取 JavaScript 中数字和字符串的实际字节大小?