2012-07-20 160 views
0
$("#btn").button().click(function() { 
    $("#textinput").css('color',function(clr) { 
     if ($("#textinput").css('color') == '#000000') 
      return '#ff0000'; 
     else 
      return '#000000'; 
    }); 
}); 

由於某種原因,我無法在輸入文本中的顏色之間切換。的jQuery的CSS文檔指出以下:切換文本輸入顏色的按鈕點擊 - jQuery

不同的瀏覽器可能返回CSS顏色值在邏輯上但不是文本上相等,例如,#FFF,#FFFFFF,和RGB(255,255,255)。

一般

,我怎麼能得到UI對象的屬性值(CSS值是恆定的?)?

thnx!

回答

1

我會創建一個類.white和一個類.black並使用.addClass()和.removeClass()。一個HTML元素可以有多個類設置

$("#btn").button().click(function() { 
    if ($("#textinput").hasClass("white")) 
    { 
     $("#textinput").removeClass("white").addClass("black"); 
    } 
    else { 
     $("#textinput").removeClass("black").addClass("white"); 
    } 
}); 

我認爲有人會發表一個更優雅的解決方案,這一點,因爲我認爲這是這樣一個簡單的任務太多的代碼。

更新: 使用toggleClass代替:http://api.jquery.com/toggleClass/

+2

我建議['toggleClass()'](http://API.jQuery.com/toggleClass/),但本質上,這就是答案。 – 2012-07-20 06:54:30

+1

謝謝,我知道有一個更好的解決方案。我更新了我的安裝程序 – Rumplin 2012-07-20 06:55:39

+0

thanx!有用。我也認爲這個切換會更簡單.. – Li3ro 2012-07-20 07:20:44