按类和数据属性过滤

时间:2014-10-07 21:09:54

标签: jquery

我想通过提供的变量找到唯一元素。

js:

var theClass  = "foo"
var theDataId = 2

html:

<div class="foo" data-id="1"></div>
<div class="foo" data-id="2"></div>
<div class="foo" data-id="3"></div>
<div class="bar" data-id="1"></div>
<div class="bar" data-id="2"></div>

我知道我可以$( "div" ).filter(theClass)但是如何进一步过滤元素以获取具有给定数据ID的元素?

3 个答案:

答案 0 :(得分:4)

$( "div" ).filter('.'+theClass+'[data-id="'+theDataId+'"]')

这将过滤为.foo[data-id="2"],意味着类foodata-id为2的元素。

答案 1 :(得分:1)

使用$('div.' + theClass + '[data-id=' + theDataId + ']').css('color', 'red')

<强> jsFiddle example

答案 2 :(得分:1)

使用JQuery,您可以将其包装在一个选择器中:

$('.foo[data-id="1"]');

这将选择类foo和data-id = 1

的所有元素

所以:

$('.' + theClass + '[data-id="' + theDataId + '"]');

将使用您的变量。