Выбрать элемент href в javascript'е

88
14 июня 2021, 15:40

Как выбрать элемент и при нажатии вывести alert('ok');

Нужно выбрать этот элемент href

<a role="button" ng-if="App.settings.game !== 'minecraft'" href="/files/stores/backend/steam.php?login">Войти</a>

мой код

var btn = document.querySelectorAll("a[href='/files/stores/backend/steam.php?login']");
btn.onclick = function(){
    alert('ok');
};

Но это не работает.

Answer 1

Если на странице будет один такой элемент, querySelector без All, находит первый элемент и усё:

var btn = document.querySelector('a[href="#bubu"]'); 
 
btn.onclick = function(){ 
  console.log('ok'); 
};
<a href="#bubu">Войти</a>

А querySelectorAll возвращает коллекцию элементов. Даже если этот элемент один. А у коллекции нет свойства onclick - есть у его элементов.

var btn = document.querySelectorAll('a[href="#bubu"]'); 
 
for (let i = 0; i < btn.length; i++) { 
  btn[i].onclick = function() { 
    console.log('Кликнута кнопка номер ' + i); 
  } 
};
<a href="#bubu">Войти</a> 
<a href="#bubu">Войти</a> 
<a href="#bubu">Войти</a> 
<a href="#bubu">Войти</a> 
<a href="#bubu">Войти</a>

Даже если уверены, что такая ссылка только одна, ничего не будет, если перестраховаться и написать All.

READ ALSO
Замыкания в функциях

Замыкания в функциях

Почему вывод целый массив? Если убрать одну функцию , то все окВопрос касательно замыканий

112
Проблема с запуском локального сервера после клонирования проекта на другой компьютер

Проблема с запуском локального сервера после клонирования проекта на другой компьютер

Решил впервые поработать удаленно дома над своим проектом на nodejs, в котором установлены некоторые модули

101
Как во время отправки ajax запроса сделать всплывающее на 5 сек модальное окно?

Как во время отправки ajax запроса сделать всплывающее на 5 сек модальное окно?

Есть типичная форма отправки сообщения, которая отправляет данные на php страницу c помощью ajax с которой идет перенаправление обратно, и при...

86
как создать анимацию на javascript?

как создать анимацию на javascript?

на днях смотрел как создать игру на джаваскрипт так скажем практиковался и тут проблема нужно создать анимацию что бы картинка менялась...

79