2014-02-24 109 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

相关问题