This is a little slimmer, but not all that different from what you're doing:
$('.strataTrigger').click(function() { var li = $(this).parent(); var index = li.parent().css({backgroundColor: 'red'}).children('li').index(li[0]); console.log("index=" + index); return false; }); - Richard On Dec 14, 2007 8:07 AM, pixeline <[EMAIL PROTECTED]> wrote: > > hello! > > i have this (sample) html: > > <ul id="menu1" class="mainmenu"> > <li><a href="#" class="strataTrigger">item1</a></li> > <li><a href="#" class="strataTrigger">item2</a></li> > <li><a href="#" class="strataTrigger">item3</a></li> > </ul> > > <ul id="menu2" class="mainmenu"> > <li><a href="#" class="strataTrigger">item1</a></li> > <li><a href="#" class="strataTrigger">item2</a></li> > <li><a href="# class="strataTrigger"">item3</a></li> > </ul> > > > when one clicks on an anchor, i need to get the index of that anchor > 's LI inside it UL. > > i managed to do it like this, and i would like to know if there is an > easier/smarter way to do it. Knowing jquery, there must be!! > > $('.strataTrigger').bind('click',function(){ > var $thisMenu = $(this).parents('.mainmenu'); > $thisMenu.css({backgroundColor: 'red'}); > var $thisMenuItems = $('li', $thisMenu); > var $thisItem = $(this).parent().get(0); > var index = $thisMenuItems.index($thisItem); > console.log("index="+index); > return false; > }); > > > thanks for your feedback! > > > alexandre > >