2013-03-25 86 views
0

我有兩個跨,用戶可以點擊鏈接,和被點擊的跨度時,它刪除一個類,並增加了在點擊一個其他類:JQuery的刪除和添加跨度級

enter image description here

HTML:

<span class="resCheck label label-success"> 
    <a data-method="get" class="resCheckLink" href="trafikskola?utf8=%E2%9C%93&amp;query=lund&  
    amp;sort=asc">Cheap prices</a> 
</span> 
<span class="resCheck label"> 
    <a class="resCheckLink" data-method="get" href="trafikskola?utf8=%E2%9C%93&query=lund& 
    sort=desc">Expensive prices</a> 
</span> 

JQuery的:

$(function(){ 
   $('.resCheckLink').click(function(e){ 
       $('.resCheck.label').removeClass('label-success'); 
       $(this).parent().addClass('label-success') 
   }); 
}); 

但它劑量的工作,它dosent添加和刪除類,我該如何解決這個問題?

+0

目前還不清楚你問的是什麼,但我不認爲parent()是正確的解決方案。 – isherwood 2013-03-25 13:04:12

+0

如果使用toggleClass()而不是手動添加和刪除類,它會更容易。 – dinukadev 2013-03-25 13:06:45

+0

我一直有問題.parent()選擇器沒有做你期望的事情。嘗試使用.closest('。resCheck')替換.parent() - 我發現最接近的選擇器通常會做同樣的事情,如果您調整層次結構(如果需要在另一個內在路上?),它通常仍然找到正確的元素。 – Sean 2013-03-25 13:16:42

回答

1

試試這個

$(function(){ 
    $('.resCheckLink').click(function(e){ 
     $('.resCheck').removeClass('label-success'); 
     $(this).parent().addClass('label-success'); 
    }); 
}); 
+0

它首先在點擊時設置類,然後在第一個點上改變。一樣。 – SHUMAcupcake 2013-03-25 13:06:33

+0

@SHUMAcupcake是爲u.I更新的代碼看到一次 – PSR 2013-03-25 13:07:31

+0

沒有它變回第一個。劑量工作 – SHUMAcupcake 2013-03-25 13:10:02

0

試試這個。

$(function(){ 
    $('.resCheckLink').click(function(e){ 
     $('span.resCheck').removeClass('label-success'); 
     $(this).parent().addClass('label-success') 
    }); 
}); 
0

它確實有效,我想象你不正確地設計元素或什麼東西?我添加了return false以防止鏈接正常工作。

jsFiddle

$(function(){ 
    $('.resCheckLink').click(function(e){ 
     $('.resCheck.label').removeClass('label-success'); 
     $(this).parent().addClass('label-success'); 
     return false; 
    }); 
}); 
+0

這項工作,但現在我的鏈接dosent工作。 – SHUMAcupcake 2013-03-25 13:08:43

+0

我對代碼所作的更改是'返回false',以便測試它。刪除它,這是你問題中的確切代碼。它看起來對我是正確的。 – 2013-03-25 13:09:42

+0

對不起,但鏈接dosent工作... – SHUMAcupcake 2013-03-25 13:10:49

0

試試這個

$(function(){ 
    $('.resCheckLink').click(function(e){ 
     $('.resCheck').removeClass('label-success'); 
     $(this).parent().addClass('label-success') 
    }); 
}); 
1

嘗試......

$(function(){ 
    $('.resCheckLink').click(function(e){ 
     $('.resCheck').removeClass('label-success'); 
     $(this).parent().addClass('label-success'); 
    }); 
}); 

Working DEMO

0

您刪除和添加同一類,所以你將無法真正監測,

$('.resCheck.label').removeClass('label-success'); 
    $(this).parent().addClass('label-success'); 

所以請創建具有不同風格的另一個類,然後嘗試,上面由PSR給出答案。

會做:)

+1

你是對的。 – SHUMAcupcake 2013-03-25 13:12:57