我正在使用php,css和javascript开发一个网站,我有一个问题,当我点击一个单元格(表格)时,如何突出显示它?例如,我有一个3x7的表格,当我点击位置2x2时,这个位置应该用一种颜色突出显示,如果我在同一个单元格中再次单击,它将返回,如果我单击了许多单元格,所有这些单元格都应该突出显示。
提前谢谢。
<table border='2' cellpadding='5' align='center'>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
</tr>
<tr>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
<td>14</td>
</tr>
<tr>
<td>15</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>19</td>
<td>20</td>
<td>21</td>
</tr>
</tbody>
发布于 2018-07-08 04:17:47
只需使用事件委派,将一个addEventListener
添加到table
中,然后使用事件target
,这里是e.target
来检测单击了哪些td
。
然后在td
上切换一个类,例如高亮它们。
堆栈代码段
var table = document.querySelector('table');
table.addEventListener('click', function(e) {
e.target.classList.toggle('highlite')
})
td.highlite {
background: yellow
}
<table border='2' cellpadding='5' align='center'>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
</tr>
<tr>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
<td>14</td>
</tr>
<tr>
<td>15</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>19</td>
<td>20</td>
<td>21</td>
</tr>
</tbody>
发布于 2018-07-08 04:17:05
让我们用jQuery让它变得更简单一点
css:
.highlight {
background-color: #ffff00;
}
js:
$('td').click(function() {
$(this).toggleClass('highlight');
})
https://stackoverflow.com/questions/51226622
复制相似问题