2012-07-20 97 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