I have the fairly simple markup below and am trying to only get only
the checkboxes under the first level LI (Main 1 and Main 2), not the
deeper ones.

<ul id="el">
        <li>
                <input type="checkbox" value="1" /> - Main 1
                <ul>
                        <li>
                                <input type="checkbox" value="1" /> - Sub 1
                        </li>
                        <li>
                                <input type="checkbox" value="1" /> - Sub 2
                                <ul>
                                        <li>
                                                <input type="checkbox" 
value="1" /> - Sub 2 Sub 1
                                        </li>
                                </ul>
                        </li>
                </ul>
        </li>
        <li>
                <input type="checkbox" value="1" /> - Main 2
        </li>
</ul>

Using $("#el").find("li input") gets all 5 checkboxes. I've tried
multiple variations of find("li input").not("li ul input") as well as
using :not() in the selector which doesn't work.

One way that did finally work:
var notgroup = $("#el").find("li ul input");
$("#el").find("li input").not(notgroup)

Why does it work if there is a variable which is the result of the
selector, but not the selector itself?

Is there any better way to do this?

Reply via email to