我在我的網站上有一個表格,我希望能夠選擇一個單元格和背景顏色的變化,然後選擇另一個單元格(不在同一行)並將第一個單元格返回到默認顏色,而新選擇的單元格更改背景顏色。我環顧四周,似乎只能找到我已經擁有的東西或一堆複選框。我有一個小提琴here。在HTML表格中選擇和取消選擇td
這裏是我的CSS:
.selected {
background-color: rgba(0,0,0,0.4) !important;
color: #fff;
}
這裏是我的jQuery:
<script type='text/javascript'>//<![CDATA[
$("#table2 td").click(function()
{
$(this).toggleClass('selected').siblings().removeClass('selected');
});
//]]>
</script>
<script type='text/javascript'>//<![CDATA[
$("#table tr").click(function()
{
$(this).toggleClass('selected').siblings().removeClass('selected');
});
//]]>
</script>
這裏是我的HTML:
<body>
<table id='table'>
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
<tr>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>Second Row</td>
<td>Still Second Row</td>
</tr>
</table>
<br><br>
<table id='table2'>
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
<tbody>
<tr>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>Second Row</td>
<td>Still Second Row</td>
</tr>
</tbody>
</table>
</body>
我可以得到table
做工精細選擇和取消選擇的行,但table2
無法正常工作。我在一行中選擇一個單元格,然後在同一行中選擇一個單元格並且它可以工作,但是如果我在另一行中選擇一個單元格,它不會將第一個單元格更改回默認顏色。上面的小提琴顯示了正在發生的事情。
我試着添加一個<tbody>
,但我認爲我沒有做到正確,因爲結果沒有改變。
我試着加入$('.selected').removeClass('selected');
,它部分工作。我可以在一行中選擇一個單元格,然後在另一行中選擇一個單元格,並且背景顏色會正確更改,但如果我第二次選擇第一個單元格,則不會取消選擇。
這樣做!我知道我沒有做正確的事。我從昨天開始一直在使用jquery。 – Mike