2014-10-07 90 views
0

我想通過提供的變量找到唯一的元素。按類別和數據屬性過濾

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得到什麼?

回答

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

這將篩選出.foo[data-id="2"],這意味着與foo類元素和2

1

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

jsFiddle example

1

使用jQuery你可以用那個在單一選擇器:

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

這將選擇所有與Foo類的元素,以及數據-ID = 1

所以:

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

將使用的變量。