2015-07-22 122 views
0

我點擊按鈕時使用引導來改變按鈕的顏色,但我認爲我做錯了一些事情,按鈕並沒有改變它的顏色。當點擊按鈕時不改變顏色

這是我的按鈕代碼 -

<td> 
    <a class="mylink" href="#"><button class="btn btn-default btn-xs">{% trans %}Allow{% endtrans %}</button></a> 
</td> 

這是我的javascript代碼---

<script type="text/javascript"> 
     $(document).ready(function() { 
     if (localStorage.getItem('isCliked'){ 
     $("#mylink").addClass('btn-success'); 
       $("#mylink").removeClass('btn-default'); 
     } 
     $('#mylink').on('click', function() { 
     $(this).addClass('btn-success'); 
       $(this).removeClass('btn-default'); 
       // set the value upon clicking 
       localStorage.setItem('isCliked', true) 
     }); 

我需要更改按鈕的顏色,並點擊網頁時再次調用它的時候應該檢查它是否被激活。

任何人都可以幫助我解決這個問題。

+2

'a'標籤下的按鈕'?爲什麼? – Tushar

+0

@TusharGupta爲什麼不呢? – Hacketo

+0

@Hacketo:因爲規格說明如此。 – Abhitalks

回答

2

可能問題在這裏。

$("#mylink") 

這將選擇與id="mylink"而不是元素與class="mylink"

如果你想選擇一個類,去爲這個元素。

$(".mylink") 

CSS選擇:w3schools所有的

1

首先,mylink類代碼。

<a href="#" class="mylink"> 

但在jQuery的你使用的是ID$("#mylink"))。另外,<a><button>的代表。因此,糾正你的$("#mylink")到每一位:

$(".mylink button") 

這樣,你會.mylink類瞄準你的<a>標籤內的<button>標籤。

參考:http://www.w3schools.com/jquery/jquery_ref_selectors.asp

0

隨着$('#someID')你選擇的東西通過它的ID。但你使用類(「myLink」),所以你應該使用$(".myLink").

儘管如此,它使它比它需要更復雜。也許你想嘗試只用CSS來做。

這裏是一個非常相似,你的問題的例子: Pressed <button> CSS

0

有在你的代碼中的一些錯誤:

  1. 這是jQuery的,不是JavaScript的(這是不同的一點)
  2. 您正在改變<a>類「myLink的」,而不是<button>
  3. 你是指一類(".myClassName")作爲ID("#myIdName"
  4. 其他事物(即, javascript是如何處理DOM元素的)...你應該多讀一點並研究一下。

無論如何,我已經讓你工作fiddle