javascript - 将元素与数据属性值的一部分匹配?

标签 javascript jquery

我有一段代码,其目标元素在数据属性中没有匹配值。如果我单击一个按钮,所有在此属性中没有匹配值的元素都会显示。

例如:

<div data-the-vals="Female_Young.Dev,Male_Mid.Project"></div>

然后在我的 jquery 中,我尝试访问“data-the-vals”以查看这些值是否存在,如下所示:

$('div.professions:not([data-the-vals="' + myElementVal + '"])');

其中 myElementVal 可能等同于“Female_Young.Dev”或“Male_Mid.Project”。

在控制台中我得到以下信息:

$('div.professions:not([data-the-vals="Female_Young.Dev"])');

这就是我想要的,但它似乎无法找到这个 div,因为它找到的是“Female_Young.Dev,Male_Mid.Project”而不是我想要的值的第一部分。是否可以将其拆分,或者能够搜索 data-the-vals 属性以查看它是否以某种方式存在?

最佳答案

所以使用attribute contains而不是等于。

$('div.professions:not([data-the-vals*="Female_Young.Dev"])');

关于javascript - 将元素与数据属性值的一部分匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50349539/

相关文章:

JavaScript 计算 div 的随机位置而不发生碰撞

javascript - jquery显示:none,显示:内联 block

c# - "tons"点的 Web 图表?

javascript - Angularjs ui-router改变状态但在传递参数时不更新url

javascript - 基于 Three.js 中新枢轴的对象动画旋转

javascript - 在 ajax json 中合并分页

javascript - 从 HTTP-Request header 获取授权

javascript - 子元素未添加到父元素(parent.appendChild)

javascript - 使用 "this"在表之间移动数据

javascript - Codeigniter 使用 JavaScript 将数据从 View 传递到 Controller