jquery - 获取具有相同数据属性值的元素数组

时间:2013-04-08 15:39:01

标签: jquery custom-data-attribute

鉴于我有一份类似的文件:

<div>
    <div data-myAttr = "foo"></div>
    <div data-myAttr = "bar"></div>
</div>
<div>
    <div data-myAttr = "foo"></div>
    <div data-myAttr = "bar"></div>
</div>

如何将包含数据-myAttr的所有元素与foo和bar分组?

编辑:这更像是一个理论问题。我没有尝试过失败的代码,但我正在为已经存在的代码探索更优雅的选项。

顺便说一句,谢谢你的-1!?

编辑:有人可以将此标记为重复吗?在此处找到了适用的答案:Group and count HTML elements by data attribute in jQuery

2 个答案:

答案 0 :(得分:2)

好的,这是我在这里的第一个回答,所以不要严厉地判断......在我的情况下,我的数组也有重复。我只是刚刚开始完全理解这一切是如何运作的,但这里是:

elements = $('div[data-myAttr]').map(function () {
    return $(this).attr('data-myAttr');
});

然后按名称运行一个基本的js循环,以使用正确的attr获取所有元素。

答案 1 :(得分:0)

您可以使用attribute selector并将两个属性选择器与comma;

结合使用

<强> Live Demo

$('[data-myAttr=foo], [data-myAttr=bar]')

您可以使用each()

遍历元素
$('[data-myAttr=foo], [data-myAttr=bar]').each(function(){
  alert($(this).text());  
});