0

有链接列表,如果我单击另一个链接,如何使用 jquery 更改仅单击链接的背景颜色并将其恢复为原始颜色?

4

4 回答 4

3

这应该为您做到这一点:

$("a").click( function(event)
{
    $("a").css('background-color', '');
    $(this).css('background-color', 'red');
});

在现实世界中,您可能会将这些链接放在 div 或其他东西中,所以应该是这样的:

<div id="divName">
<a href="#">Link</a>
<a href="#">Link</a>
<a href="#">Link</a>
</div>
​
<script language="javascript">

$("#divName a").click( function(event)
{
    $("a").css('background-color', '');
    $(this).css('background-color', 'red');
});

</script>
于 2012-08-01T09:44:44.510 回答
2

也许像这样基本的东西?

$("#linkDivWrapper").on("click", ".linkClass", function () {
    $(this).css({'background-color': '#ccc'});
}); ​
于 2012-08-01T09:43:20.503 回答
1

非常普遍,因为没有发布标记,并且针对所有<a>元素并阻止默认操作,因为转到新页面将使突出显示链接非常无用:

var elems = $('a'); //select all a elements, could use class instead;

elems.on('click', function(e) {
    e.preventDefault(); //prevent default action
    $(this).addClass('highlight'); //add highlight class to clicked
    elems.not(this).removeClass('highlight'); //remove highlight class from others
});
于 2012-08-01T09:48:12.127 回答
0

检查这个 jsfiddle 演示

HTML:

<ul id="menu">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
    <li><a href="#">Link 3</a></li>
</ul​​​​​​​​​​​​​​&gt;​​​​​​​​

脚本:

$("#menu li a").click( function(event)
{
    $("li a").css('background', '');
    $(this).css('background', '#f5c491');
});​

希望这会帮助你。

于 2012-08-01T10:12:59.620 回答