2014-02-24 81 views
2

我有一個鏈接:如何以編程方式將鏈接狀態更改爲:活動?

<a id="link-50" href="#">MyLink</a> 

我必須爲它定義一些CSS的工作狀態:

#link-50 
{ 
    color:#eee; 
} 
#link-50:active 
{ 
color:#ddd; 
} 

我想通過編程修改鏈接-50的顏色#ddd,即我m試圖改變鏈接到它的活動狀態。我認爲調用click()事件會做到這一點,但它似乎並沒有改變顏色。

我嘗試這樣做:

#link-50.click(); 

我這麼想嗎?

回答

4

你不能直接這樣做,但你可以使用一個類

#link-50:active, #link-50.active 
{ 
    color:#ddd; 
} 

然後切換它jQuery的

$('#link-50').click(function() { 
    $(this).toggleClass('active'); 
    // or... 
    $(this).addClass('active'); 
    // or... 
    $(this).removeClass('active'); 
}); 
+0

爲什麼雙句在:'#link-50:active,#link-50.active'? –

+0

@FranciscoCorrales因爲我們想保持鏈接的本地行爲,當它激活 – matewka

+0

謝謝,這就做到了。 – Prabhu

0

試過這種?

$('#link-50').trigger('click'); 

​​(觸發jQuery的)

1

點擊鏈接將其更改爲active,然後visited。請注意,active狀態通常是mousedown狀態。一旦鼠標被釋放,鏈接將跳轉到visited,按鈕不再處於活動狀態等等(請參閱Fiddle Example)。

來處理這將是添加一個類來打開和關閉programmtically,這將應用的顏色,最好的辦法:

$('#link-50').toggleClass('active'); // turn color on/off 

Fiddle

相關問題