4

我为一组对象定义了一个类(item1)。

是否可以将我单击/选择的对象(来自类)设置为红色文本并将所有其他对象(来自类)设置为黑色文本颜色?

这是我应用类(item1)的代码:

        <td>
            <a class="item1" href="/menu2" onclick="">
            Menu1
            </a>
        </td>

        <td>
            <a class="item1" href="/menu2" onclick="">
            Menu2
            </a>
        </td>

如何在 css 文件中执行此操作?

4

4 回答 4

6

是否可以为我单击/选择的对象(来自类)设置红色文本颜色

好的,您使用的一些术语需要澄清一下:

  • 在 css 中单击时称为:active
  • 在 css 中悬停时被称为 :hover
  • :visited在谈论a标签时调用css后单击。

如果您的意思是实际将链接设置为“活动”状态,则:visited选择器可能会出现这种情况的“症状”,但这绝不是这样做的方法。

真正做到这一点的方法是向元素物理添加一个类,将其识别为活动的,即<a class="active">相应地设置特定类的样式(通常使用少量 javascript 完成)

那么,使用 javascript 如何添加/删除该类?

使用 javascript,您可以监听点击事件。每次单击某些内容时,您都执行以下操作:

  1. 从当前包含它的任何元素中删除现有active类。
  2. 将其添加到被单击的项目。
于 2013-02-27T17:29:34.510 回答
6

这是小提琴

这是代码:

HTML

<td>
            <a class="item1" href="#">
            Menu1
            </a>
        </td>

        <td>
            <a class="item1" href="#">
            Menu2
            </a>
        </td>

JS

$('.item1').click(function(e){
    $('.item1').css("color", "black");
    $(this).css("color", "red");
});
于 2013-02-27T18:02:48.210 回答
4

您可能正在寻找:visited

a:visited {

color:red;

}
于 2013-02-27T17:25:58.000 回答
2

如果您使用 ajax,或在另一个框架中加载您的内容,最好使用 javascript (jquery):

$('a').each(function(){
   $(this).click(function(){
      $('a').removeClass('selected');
      $(this).addClass('selected');
   })
});

以你的风格:

a, a:hover, a:visited, a:active{
   color:black;
}
a.selected{
   color: red;
}
于 2013-02-27T17:56:53.753 回答