これは、ブラウザとそれがサポートするものによって異なります。
一部のブラウザはを返しますがrgb(0,0,0)
、ほとんどの新しいブラウザはrgbaをサポートしてを返しrgba(0,0,0,0)
ます。他のブラウザは完全に異なるものを返すかもしれません、誰が何を知っていますか?
このフィドルを試して、動作するかどうかを確認してください。最新のChromeで動作しますが、すべてのブラウザで動作するとは限りません。
var element = $(this).parents("tr:first");
if (element.css("background-color")==="rgba(0, 0, 0, 0)") {
element.animate({ backgroundColor: "black" }, 1000);
}else{
element.animate({ backgroundColor: "white" }, 1000);
}
また、if / elseステートメントに欠陥があり、中括弧がありません。
ブラウザから返された色をチェックすることはあまり信頼できないため、代わりにフラグの使用を検討する必要があります
var element = $(this).parents("tr:first");
var flag = element.data("flag");
if ( flag ) {
element.animate({ backgroundColor: "black" }, 1000);
}else {
element.animate({ backgroundColor: "white" }, 1000);
}
element.data("flag", !flag);
最後に、jQueryは、プラグインまたはjQueryUIなしでの色のアニメーション化をサポートしていません。