在表单中,有一个部分显示每个 div 中 4 周的组。请参阅下面的代码
<div class="form-check" data-weeknr="1,2,3,4"></div>
<div class="form-check" data-weeknr="5,6,7,8"></div>
<div class="form-check" data-weeknr="9,10,11,12"></div>
<div class="form-check" data-weeknr="13,14,15,16"></div>
<div class="form-check" data-weeknr="17,18,19,20"></div>
... This continues until it reaches
<div class="form-check" data-weeknr="49,50,51,52"></div>
我有一个代码,通过变量 weekno
获取当前星期,因此 console.log(weekno);
今天返回:3
我想将一个类 current
添加到 .form-check
中,该类的数据属性中有 weekno
data-周
.
因此,我尝试使用包含选择器指令的属性,但我需要它比这些指令允许的更深入。
$links = $(".formplate .form-check[data-weeknr*='3']");
console.log($links.length);
因为上面的 jQuery 代码将在控制台中返回数字 7
,因为它现在抓取每个具有 3 init 的 .form-check
。因此它不仅抓取 3 个,还抓取 13,23,[30,31,32],[33,34,35,36],[37,38,39],43 总共 7 组。
那么我怎样才能改变这一行来做两件事:
$links = $(".formplate .form-check[data-weeknr*='3']");
如何合并变量weekno
,如何正确转义以便允许var?
我怎样才能让它只选择数字 3?
最佳答案
仅选择值为 3
的最简单方法是将分隔符添加到数据属性的开头和结尾,例如
<div class="form-check" data-weeknr=",1,2,3,4,"></div>
然后在搜索中选择分隔符,因为 data-weeknr*
在数据属性中的某个位置搜索字符串。
$links = $(".formplate .form-check[data-weeknr*=',3,']");
关于javascript - 属性包含精确的数字选择器,因此找到 3,但找不到 13 或 23,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65828610/