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

出于某种原因,我无法在输入文本中的颜色之间切换。jQuery 的 .css 文档声明如下:

不同的浏览器可能会返回逻辑上但文本上不相等的 CSS 颜色值,例如 #FFF、#ffffff 和 rgb(255,255,255)。

一般来说,我怎样才能获得 UI 对象的属性值(css 值是常量?)?

谢谢!

4

1 回答 1

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/

于 2012-07-20T06:51:25.867 回答