按类和数据属性过滤

Fel*_*ger 1 jquery

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

js:

var theClass  = "foo"
var theDataId = 2
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

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

Sci*_*ter 5

$( "div" ).filter('.'+theClass+'[data-id="'+theDataId+'"]')
Run Code Online (Sandbox Code Playgroud)

这将过滤到.foo[data-id="2"],意思是类fooANDdata-id为 2 的元素。