2011-05-04 153 views
1

我想在点击链接后使用jquery更改锚点标签上的样式。使用jQuery更改超链接点击的CSS样式

<tr class="row-tab" style="height: 30px;"> 
    <td class="subtab-selected"><a href="#" id="as1">TOP % GAINERS</a></td> 
    <td class="subtab-notselected"><a href="#" id="as2">TOP % LOSERS</a></td> 
</tr> 

$('#as1, #as2').click(function(){ 
    $('#as1, #as2').parent().removeClass('subtab-selected').addClass('subtab-notselected'); 

    $('this').parent().addClass('subtab-selected'); 

    return false;     
}); 

我试图改变CSS类,当一个链接被点击,但第二行的jQuery代码没有得到执行。

有人能告诉我我做错了什么吗?

+0

您是否在尝试更改包含链接的链接类别或​​? – 2011-05-04 00:23:58

+1

正如所写的,被点击的锚的父项将应用两个类('subtab-notselected'和'subtab-selected')。 – 2011-05-04 00:25:42

回答

6

尝试围绕'this'

+0

不,没有工作。第一行代码被执行。该类被删除,其他类被添加。 但第二行代码不起作用。 – Hozefa 2011-05-04 00:23:22

+0

这正是你的代码所写的。你能否给我们更多关于你想要做什么的细节? – 2011-05-04 00:25:14

+0

我希望代码在链接(td)上单击添加类'subtab-selected',并将其从另一个链接中移除,然后将类'subtab-notselected'添加到它。 – Hozefa 2011-05-04 00:28:19

0

删除引号尝试改变这种下联:

$('this').parent().addClass('subtab-selected').removeClass('subtab-notselected'); 

我想你不会想两者。

+0

谢谢,需要删除其他课程。你说得对,我不需要两个班。一次只需要一个。 – Hozefa 2011-05-04 00:32:55

+0

没问题。顺便说一下,通过使用toggleClass(“subtab-selected subtab-notselected”),你可以使事情变得更简洁 – 2011-05-04 00:33:37

+0

切换对我来说不起作用,就好像该选项卡已经被选中一样,我们再次选择它会改变该类。我不希望这种情况发生。 – Hozefa 2011-05-04 00:38:23

2

我写了一个解决方案,而在jQuery的固定#ids

$("td a").click(function() { 
    var p = $(this).parents("tr"); 
    $("td", p).removeClass("subtab-selected").addClass("subtab-notselected"); 
    $(this).parent().addClass("subtab-selected"); 
    return false; 
}); 

你可以看到它乳宁here