Javascript 如何从td元素中的url参数中找到确切的数目

Javascript 如何从td元素中的url参数中找到确切的数目,javascript,jquery,filter,url-parameters,Javascript,Jquery,Filter,Url Parameters,我有个问题。我无法从td元素中找到确切的数字。如果我记下25号进行搜索,它还会在td元素中分别找到2号和5号。我只想找到25个。如果我找到数字10,它也会突出显示数字1 以下是JSFIDLE: 代码如下:HTML <table> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> &l

我有个问题。我无法从td元素中找到确切的数字。如果我记下25号进行搜索,它还会在td元素中分别找到2号和5号。我只想找到25个。如果我找到数字10,它也会突出显示数字1

以下是JSFIDLE:

代码如下:HTML

<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>
<tr>
<td>21</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>25</td>
<td>26</td>
<td>27</td>
<td>28</td>
<td>29</td>
<td>30</td>
</tr>
</table>
CSS:


提前感谢。

如果您输入数字25进行搜索,它还会在
td
元素中分别找到数字2和5。这是因为
indexOf()。因此,
filter
中的回调将返回true,即使
td
只有
2
。否则返回或
-1
。如果您只想让它找到25个,可以执行以下操作

let $td=$('td');
$.each($td,function(){
  let $this=$(this)
  $this.toggleClass('active',$this.text()=='25');
});


$(“td:contains('10')).addClass('active')如果您想要更少的代码,这里有另一种方法

对于每个td,检查它是否对应于调用的
int值。这样,不管被调用的变量在URL中等于什么,它都会直接进行检查

JSFiddle:

var search=“?”+[
“called=“+decodeURIComponent”(“25”)
].加入(“&”);
$('td').filter(函数(){
返回$(this.text()==search.match(/called=(\d+/)[1];
}).addClass(“活动”)
td{
颜色:#fff;
填充:0px 5.4px;
线高:42px;
}
.挑选{
颜色:#000;
}
.主动{
颜色:#f30;
}

1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

返回parseInt($(this).text())==25工作。因此,问题在于您的
搜索
变量值。感谢您的帮助answer@JPHellemons,它对我有用。你的搜索是对的,我设法解决了。祝你度过愉快的一天:)谢谢你兄弟的详细回答。它解决了我的问题,并使我了解我的代码的问题。谢谢,祝你度过愉快的一天:)@pv619很乐意帮忙!;-)非常感谢Elish的详细解释。我看到,由于
索引
的缘故,它过滤了搜索条件内的所有内容。再次感谢您的帮助:)祝您度过愉快的一天:)
td {
color: #fff;
}

.picked {
color: #000;
}

.active {
color: #f30;
}
let $td=$('td');
$.each($td,function(){
  let $this=$(this)
  $this.toggleClass('active',$this.text()=='25');
});