【发布时间】:2014-09-06 17:08:54
【问题描述】:
我有一个这样的 HTML:
<div data-value="a"></div>
<div data-value="b"></div>
<div data-value="c"></div>
<div data-value="d"></div>
<div data-value="a"></div>
<div data-value="d"></div>
<div data-value="e"></div>
我想使用 jQuery 选择所有具有 不同 data-value 属性的 div。
这是我的尝试:
$( document ).ready(function() {
$('div[data-value]').each(function(){
var value = $(this).data("value");
console.log(value);
});
});
这当然会打印出所有匹配项:a, b, c, d, a, d, e。
相反,我只需要打印每个值的第一次出现:a, b, c, d, e。
是的,我可以使用一个数组将元素放入其中并检查它是否已经存在并执行我的工作,但我正在寻找一个紧凑而优雅的 jQuery 代码,例如选择器或过滤器函数或其他东西。有什么想法吗?
【问题讨论】:
标签: jquery jquery-selectors each no-duplicates jquery-filter