2017-02-07 4 views
0

Я хочу изменить цвет ссылки с помощью jQuery. Я получаю сообщение об ошибке при попытке ссылаться на объект.Ссылка на объект, переданная в аргументе функции

мой HTML:

<a onmouseover="loclink(this);return false;" href="locations.html" title="Locations" class="nav-link align_nav">Locations</a> 

Мои JS:

function loclink(a){ 
    a.css("color", "red"); // Didn't work 
    jQuery('a').find('.nav-link').css("color", "red"); // Didn't work 
    $(a).find('.nav-link').css("color", "red"); // Didn't work 

console.log(a): 

<a onmouseover="loclink(this);return false;" href="locations.html" title="Locations" class="nav-link align_nav">Locations</a> 
+0

Вы хотите '$ (а) .css ("цвет", "красный")'. 'css' - это команда jQuery, поэтому вам нужно сделать' a' в объект jquery. Две другие линии пытаются найти элемент '.nav-link' INSIDE' a'. – Jan

+0

Почему вы не используете 'css'? – Azim

+0

Что вы действительно хотите, это прекратить использование inline-обработчиков событий – adeneo

ответ

2

function loclink(a){ 
 
    $(a).css("color", "red"); // this should work 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a onmouseover="loclink(this);return false;" href="locations.html" title="Locations" class="nav-link align_nav">Locations</a>

Лучший подход (вместо использования встроенных событий) заключается в использовании Jquery.on для Закрепление обработчик событий к вашим ссылкам

$("a.nav-link").on("mouseover",function(){ 
 
    $(this).css("color", "red"); // this should work 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="locations.html" title="Locations" class="nav-link align_nav">Locations</a>

+0

Спасибо ... Вот что мне нужно – bourax

+0

приветствуются –

Смежные вопросы