Проверьте, является ли elem гиперссылкой на странице результатов Google при наведении курсора - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь написать прослушиватель событий в расширении Chrome, которое меняет стиль ссылки, когда пользователь наводит на нее курсор.

document.addEventListener("mousemove", function(e) {
     console.log(e.target.tagName);
});

Я не уверен, что это проблема, котораяизолирован на странице результатов Google, но многие ссылки на странице не выводят «A» для tagName при наведении курсора (например, результаты поиска - «H3»).При осмотре страницы выглядит, что «H3» является дочерним по отношению к «A», но мне бы очень хотелось проверить, является ли этот элемент <a> сам по себе или содержится в <a>, поэтомуэто работает для всех ссылок на странице.

Есть ли способ сделать это, кроме как искать всех родителей по всему дереву, чтобы увидеть, являются ли какие-либо из них <a>?

Ответы [ 2 ]

0 голосов
/ 16 октября 2018
aTags = document.querySelectorAll('a');
aTags.forEach(a => a.onmouseover => a.style.color = 'green');

Это достигнет того, что вы ищете.

0 голосов
/ 16 октября 2018

Вы должны запросить страницу для всех <a> элементов, а затем привязать их к событию 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(....);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...