基本上,有没有办法写
a.children('.outer').children('.inner')
没有中间选择器?我不能写
$('.outer > .inner', a)
因为我不想对a
进行全面深度搜索 - 我知道.outer
元素是a
的直接子元素。
这部分是“优雅”的问题,但部分是因为我试图避免“一次性”元素集。是的,jQuery实际上可以做同样的事情,但是当它知道完整查询的意图时,它有更好的优化机会(至少在理论上)。
答案 0 :(得分:3)
你可以这样做,从直接的孩子开始,而不是在.outer
进行全面深度搜索开始:
$('> .outer > .inner', a)
或者,略有不同,这个:
a.find('> .outer > .inner')
答案 1 :(得分:2)
“>”选择器是你需要的。它将选择直接子元素,而不是所有级别的后代:http://api.jquery.com/child-selector/