似乎无法比较点击表格数据的背景颜色,我做错了什么?

Met*_*uru 2 css jquery

快速进行JQuery演示,单击表格元素将其从黑色变为白色.我开始格仔了.然而,当我点击它们时它们总是变成黑色,我不能让它们变回白色.我在这做错了什么?

$('table tr td').click(function() {
    if($(this).css('background-color') == 'black')
        $(this).css('background-color', 'white');
    else
        $(this).css('background-color', 'black');
});
Run Code Online (Sandbox Code Playgroud)

Rob*_*b W 7

css()方法返回RGB颜色(特定于供应商!).因此,请使用以下代码:

    if($(this).css('background-color') == 'rgb(0, 0, 0)') //rgb(0,0,0) = black
Run Code Online (Sandbox Code Playgroud)


更好,更容易维护的方法来改变使用的外观可以实现toggleClass方法:

/* CSS code*/
.black {background-color: black;}
.white {background-color: white;}
/* JavaScript*/

$('table tr td').click(function() {
   $(this).toggleClass("black white");
});
Run Code Online (Sandbox Code Playgroud)

  • 我认为toggleClass中的类应该是一个单独的字符串. (2认同)