2013-02-27 47 views
3

我已經爲一組對象定義了一個類(item1)。使用CSS更改選定的鏈接顏色?

是否有可能將紅色文本顏色對象(來自類),我點擊/選擇並將所有其他對象(從類)以黑色文本顏色?

這裏的是我將類(物品1)代碼:

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

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

我怎樣才能做到這一點在CSS文件?

+0

只有CSS?沒有JavaScript? – 2013-02-27 17:26:51

+0

Javascript也可以:) – 2013-02-27 17:33:46

+0

是否可以將紅色文字顏色作爲我單擊/選擇的對象(來自課程)?編號使用JavaScript也 - 是的 – ssilas777 2013-02-27 17:34:13

回答

5

這裏的fiddle

而這裏的代碼:

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"); 
}); 
4

你可能會尋找:visited

a:visited { 

color:red; 

} 
+0

但是,如果點擊其他,我想恢復爲黑色。這樣做? – 2013-02-27 17:34:23

+0

@Wezly您提出的正是我提到的,當我說使用':visited'作爲活動狀態的指標僅僅是點擊後的一個症狀,並不是正確的方法來做到這一點 – Kristian 2013-02-27 17:35:58

+0

然後你應該考慮使用Javascript,@Kristian這個問題只說明HTML和CSS,如果問題發生變化,很樂意提供一個JS示例。 – Wez 2013-02-27 22:47:03

4

是否有可能把紅色文本顏色的對象(從類),其 我點擊/選擇

確定一些您使用的術語需要一點清晰度:

  • 點擊css在CSS被稱爲:active
  • 懸停點擊在CSS談論 的a標籤時被稱爲:visited後稱爲 :hover

如果你的意思是實際設置一個鏈接到「激活」狀態,你可能與:visited選擇的是「症狀」,但它絕不是做到這一點的方式。

真正的辦法做到這一點是一類物理添加到您的元素,將確定爲活動,即<a class="active">和風格,特別是類相應

所以(通常用JavaScript灑完成),使用JavaScript如何添加/刪除該類?

使用javascript,您可以聽取點擊事件。每一次的東西被點擊,您執行以下操作:

  1. 無論從任何元素當前 持有它刪除現有active類。
  2. 將其添加到正在單擊的項目中。
+0

但是如果我點擊其他,我想恢復爲黑色。這樣做? – 2013-02-27 17:34:53

+0

我已經在最近的編輯中解釋過它。見上面 – Kristian 2013-02-27 17:38:17

+0

在這裏我只是想分享這個......我最近發現:http://css-tricks.com/overriding-the-default-text-selection-color-with-css/,我知道它不是這個問題的答案,但標題只是提醒我=) – 2013-02-27 18:11:56

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; 
}