Lets assume the following HTML
<div id=main>
<div id=a></div>
<div id=b></div>
<div id=c></div>
<div id=d>
<div id=d1 class="no">
<div id=d11></div>
<div id=d12></div>
</div>
</div>
<div id=e>
<div id=e1 class="no">
<div id=e11></div>
<div id=e12></div>
<div id=e13></div>
</div>
</div>
</div>
I want to select all div tags that are children of main, but want to ignore children of divs that have a class as “no”.
I have currently written a recursive function to do the job. But was wondering if there is a jQuery selector to get what I want.
I want the DIVs with ids a,b,c,d,d1,e,e1
Thanks
EDIT: Created a test page here – http://jsfiddle.net/mRENV/
In a single selector with no further traversal you could do this:
$('#main div:not(div.no > div)');