I owe you an apology, Hector - I'd been looking at the same lines for so long, I'd stopped seeing what I'd written ... and was doubling-up my selector. This DOES work:
$( '#themenu' ).children( 'li[id]' ).hover( function() { var theID = $(this).attr('id'); $( "#" + theID + " ul" ).toggle() ; }); Thank you very much! Cherry. On Nov 7, 12:27 am, "Hector Virgen" <[EMAIL PROTECTED]> wrote: > Maybe this: > > $( '"#cat [" + theID + "] ul"' ).toggle() ; > > Should be like this? > > $( "#cat #" + theID + " ul" ).toggle() ; > > -Hector > > On Thu, Nov 6, 2008 at 4:14 PM, [EMAIL PROTECTED] < > > [EMAIL PROTECTED]> wrote: > > > I have read the other threads on this topic, but am still getting > > nowhere ... > > > I'm trying to make a simple (haha) show-hide menu. > > The first & last menu items are static - and don't have IDs. I need to > > select them out, otherwise I get a "g is undefined" error. > > > Problem 1: The initial selection doesn't work > > > $( '#themenu' ).children( 'li:has(id)' ).hover( function() { > > alert ( 'Got an id!' ); > > }); > > > What have I done wrong? > > > Problem 2: Getting the relevant var into my toggle statement. > > > This works: $( '#cat2 ul' ).toggle() ; > > > This doesn't work: > > > $( this.hash ).children( 'ul' ).toggle() ; > > > This doesn't work, either: > > > var theID = $(this).attr('id'); > > $( '"#cat [" + theID + "] ul"' ).toggle() ; > > > I'm at my wits' end, and desperate for your insights ....