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

Javascript 查找具有特定数据属性jQuery的元素,javascript,jquery,html,Javascript,Jquery,Html,我知道我总是可以遍历DOM树,检查每个元素的数据字段以及值是否正确,但我希望有一个更干净的解决方案。比如说 <div id="theDiv"> <div> <span data-num="3" ></span> OTHER HTML </div> <div> <div><span data-num="23

我知道我总是可以遍历DOM树,检查每个元素的数据字段以及值是否正确,但我希望有一个更干净的解决方案。比如说

    <div id="theDiv">
       <div>
         <span data-num="3" ></span>
         OTHER HTML
       </div>
       <div>
         <div><span data-num="23"></span><div>
         OTHER HTML
       </div>
       <div>
         <span data-num="3"></span>
         OTHER HTML
       </div>
    </div>
但是我想要像这样的东西

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

仅用于示例(过滤器)


是的,有,但我忘了确切的语法,但我相信有人会给你的。或者你可以通过属性valueDarn查找css来找到选择器,我正要写这个+无论如何,这里的选择器也不正确。它正在查找id为的元素上的数据属性,而不是跨度@是的,我修好了。谢谢谢谢到处都是选票。工作完美(我在玩弄旧的例子,它不工作,但我现在知道为什么:)。是否有任何方法可以使用相同的语法来查找data num=ANYTHING的跨度?因为并非所有跨距都有数据-num@user974896只需省略
='3'
部分就可以了,因为它不想覆盖所有的跨度,只需要一个简单的一行。
  $("#theDiv").find(span > data-num=3).each(function(e) { ... });
 $("#theDiv span[data-num='3']")
$('#theDiv span').filter(function(){ return $(this).data("num") == 3});