They are not equivalent, as I will explain below, but if they drive them, .children() for speed, .find() for short (additional work inside Sizzle, parsing this for starters), you decide which is more important.
The former have different results, but if you know that they are children, you can do this:
$("whatever").find("> .foo > .bar") //equal to... $("whatever").children(".foo").children(".bar")
This will be equivalent to your second function. Currently, the first thing you have will find this:
<whatever> <div class="foo"> <span> <b class="bar">Found me!</b> </span> </div> </whatever>
The second one will not, it requires .foo be a direct child of whatever and .bar be a direct descendant of .find(".foo .bar") > allows them to be any level in depth while the .bar the .foo descendant.
source share