HTML テーブルのセルにクリック アクションを追加しようとしています。
これが私のJavascriptです:
$(document)
.ready(
function () {
function setColor(cell) {
var cssRed = {
"color": '#ff0000'
}
var cssBlue = {
"color": '#0000ff'
}
if (cell.css('color') == '#ff0000') cell.css(cssBlue);
else cell.css(cssRed);
}
$('td').click(function () {
setColor($(this));
});
});
そして、これが私のHTMLです
<table style="text-align: center" border='1'>
<tbody>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
</tbody>
</table>
クリックされたセル内のテキストの色を変更するはずです。http://whenisgood.comのグリッドに似たものを作ろうとしています
何故か(メソッドelse
内に)if文を入れ続けているのに。setColor
したがって、明らかにこの比較cell.css('color') == '#ff0000'
は毎回失敗します。ここで何が間違っていましたか?
編集:私はアラートを作成しました。これcells.css('color')
が出力です:最初はrgb(11,4,0)
もう一度クリックした後:rgb(255,0,0)
edit2: 最初は色をblue
文字どおりred
に割り当ててみました。ただし、機能しません( と を比較していたとしてもblue
)red
。Javascript はred
Hex または RGB でマーシャリングしないと思いますよね?
edit3: 反対票を投じる場合は、理由を教えてください。質問を更新して改善します。