【发布时间】:2018-12-14 13:41:22
【问题描述】:
我试图在一个元素中查找数组值,然后向它添加一个 css 类。我的技术有问题吗?谁能帮帮我。
var numbers = [1, 2, 3, 7, 8, 9, 10, 16, 17, 18, 19, 20];
for (numbers < 1; numbers <= 20; numbers++) {
$('td').find(numbers).addClass('active');
}
td.active {
color: #f00;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td>1
<td>
<td>2
<td>
<td>3
<td>
<td>4
<td>
<td>5
<td>
<td>6
<td>
<td>7
<td>
<td>8
<td>
<td>9
<td>
<td>10
<td>
<tr/>
<tr>
<td>11
<td>
<td>12
<td>
<td>13
<td>
<td>14
<td>
<td>15
<td>
<td>16
<td>
<td>17
<td>
<td>18
<td>
<td>19
<td>
<td>20
<td>
<tr/>
</table>
提前致谢。
【问题讨论】:
-
从 sn-p 的格式中可以看出,您的表格 HTML 已损坏 - 您缺少
</td> -
... 和
<tr/>必须替换为</tr>。 -
@RoryMcCrossan HTML 允许在
<td>元素上省略结束标记,即使天真的整洁工具不知道这一点:)。见stackoverflow.com/q/4020374/215552 -
@HereticMonkey 谢谢,不知道这一点。不过,我认为以这种方式编写代码是一种糟糕的做法。无论哪种方式,OP 的代码都不正确,因为它们有多余的
<td>,而</td>应该是。