-2

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

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

如何获取包含 data-myAttr 且 foo 和 bar 分组的所有元素?

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

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

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

4

2 回答 2

2

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

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

然后按名称运行一个基本的 js 循环以获取具有正确属性的所有元素。

于 2013-06-18T23:24:54.447 回答
0

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

现场演示

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

您可以使用遍历元素each()

$('[data-myAttr=foo], [data-myAttr=bar]').each(function(){
  alert($(this).text());  
});
于 2013-04-08T15:39:52.113 回答