It seems like I've got somewhere - though I am still confused. <div id="container"> <div id="kid1" class="kid select"> <div id="k1w1" class="week"></div> <div id="k1w2" class="week selected"></div> <div id="k1w3" class="week"></div> <div id="k1w4" class="week"></div> </div>
<div id="kid2" class="kid"> <div id="k2w1" class="week"></div> <div id="k2w2" class="week"></div> <div id="k2w3" class="week"></div> <div id="k2w4" class="week selected"></div> </div> <div id="kid3" class="kid"> <div id="k3w1" class="week selected"></div> <div id="k3w2" class="week"></div> <div id="k3w3" class="week"></div> <div id="k3w4" class="week"></div> </div> <div id="kid4" class="kid"> <div id="k4w1" class="week"></div> <div id="k4w2" class="week selected"></div> <div id="k4w3" class="week"></div> <div id="k4w4" class="week"></div> </div> </div> Now I have changed #kid1 to have a class "select" instead of "selected" and this code brings up the correct index for the div with class "selected" in the first group of weeks (was there some kind of conflict before because the parent had the class I was looking for?): var spoon = $("#container > div:eq(0) > div").index($(".selected")); If i change the :eq to (1) or (2) or (3) to theoretically grab hold of the other 3 divs inside #container, it returns -1. Am I totally missing something with index?