1

我创建了一个 5x5 框的矩阵。我想点击一个链接并在我点击它后让该链接动态改变颜色(a:visited) - 一次一个。但是,在我当前的代码中,它将颜色更改为所有链接,而不是我单击的特定链接。

HTML:

<ul id="rowOne" class="center">
    <li><a href="#">$100</a></li>
    <li><a href="#">$100</a></li>
    <li><a href="#">$100</a></li>
    <li><a href="#">$100</a></li>
    <li><a href="#">$100</a></li>
</ul>

查询:

$('a').click(function(){
$.each('a').css({'color':'#002290'});
});

有什么建议么?

4

3 回答 3

7

您的代码显示“单击任何元素时<a>,遍历所有 <a>元素 ( $.each...) 并更改其 CSS”。您只需要将更改应用于单击的元素,该元素可通过thisjQuery 的事件回调获得:

$('a').click(function(){
  $(this).css({'color':'#002290'});
});

您还可以在构建对象时省略键 ( ) 周围的引号color(如果属性不包含连字符)...

$(this).css({color: '#002290'});

...或在设置单个属性并将名称和值作为两个单独的字符串参数传递时完全省略对象:

$(this).css('color', '#002290');
于 2013-06-14T13:58:12.350 回答
4

你需要这样做——

$('a').click(function(){
   $(this).css({'color':'#002290'});
});
于 2013-06-14T13:57:59.740 回答
1

您将a再次更改所有标签。不要忘记在单击之前删除所有标签颜色。

$('a').click(function(){    
   $('a').css('color', '');           
   $(this).css({'color':'#002290'});  //current tag
});
于 2013-06-14T13:59:02.437 回答