函数参数传递的对象引用

时间:2017-02-07 09:14:11

标签: javascript jquery html css

我想用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>

1 个答案:

答案 0 :(得分: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>