2011-05-04 127 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