freislot
@freislot
Frontend-разработчик

Можно ли через onclick обратиться к элементу?

Можно ли через onclick обратиться к элементу? Так можно делать? У меня не получается, может что-то неправильно? Или так вообще не делается, а если делается то как?

Есть например ссылка:

<a href="#" onclick="test();">блабла</a>

В JS функция test:

function test(){
		$(this).addClass("active");
	}


Хочу чтобы по клику на ссылку она получила класс active но она не получает.

.click() и .on('click') не работает, элемент ссылки находится в гугло картах, и получается с ним работать только по onclick=""
  • Вопрос задан
  • 821 просмотр
Решения вопроса 3
aliencash
@aliencash
Партизан
Ну а откуда js скрипту знать что у вас там this? Передаейте функции test параметр this, а уж потом делайте с ним что хотите.
<a href="#" onclick="test(this);">блабла</a>

function test(a){
    $(a).addClass("active");
}
Ответ написан
leshikgo
@leshikgo
Нужно передавать собственно this в функцию.
Насчет того что не работает .on('click') скрипт просто отрабатывает быстрее чем подгружается map. Нужно просто весить событие на динамически подгружаемый блок
$('здесь класс или ид контейнера где находится элемент').on( 'click', 'a', function(){
//код выполнения
})

Главное что бы контейнер где находится элемент подгружался не динамически. Можно хоть body использовать как контейнер
$('body').on( 'click', 'a.указать класс, так как в контейнере может содержаться не один тег a', function()
Ответ написан
elem.onclick = function()
{
elem.className += ' active';
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы