javascript - 属性包含精确的数字选择器,因此找到 3,但找不到 13 或 23

标签 javascript jquery attributes selector

在表单中,有一个部分显示每个 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/

相关文章:

javascript - 如何使用 JQuery 以编程方式翻转元素属性的值?

javascript - ACE编辑器中删除时jquery触发事件

javascript - Modernizr 检查以检测 firefox

javascript - 在 D3js 甘特图中的栏上添加工具提示

javascript - 如何在 Sublime Text 3 中将此代码用作 JS 的代码段?

c# - 具有属性的快速 ArgumentNullException。有可能的?

java - 使用 JNDI 修改 "msExchHideFromAddressLists"Active Directory 属性

javascript - React map 功能可以工作,但是当 API 调用时它会中断

javascript - HighCharts - 时间序列图表 - x 轴上不规则的日期时间间隔

javascript - 如何使用 jQuery 切换修复此脚本?