查找具有特定数据属性jQuery的元素

我知道我总是可以迭代DOM树并检查数据字段的每个元素,如果值是正确的,但我想要一个更清晰的解决方案。 例如

OTHER HTML
OTHER HTML
OTHER HTML

是否有一个jQuery one liner来查找data-num = 3的所有跨度? 我知道我可以找到所有的跨度

  $("#theDiv").find(span).each(function(e) { ... }); 

但我想要像

  $("#theDiv").find(span > data-num=3).each(function(e) { ... }); 

使用属性等于选择器

  $("#theDiv span[data-num='3']") 

试试吧!

仅举例(filter)

 $('#theDiv span').filter(function(){ return $(this).data("num") == 3});