Actually it works this way in the CSS Spec also and your test file proves it. Just use this selector instead of your other selector:
#test > li a -- Brandon Aaron On 8/29/07, Jeroen Coumans <[EMAIL PROTECTED]> wrote: > > > Thanks for the explanation, that makes sense. But this is not how the > CSS spec has it defined. You can see that in my test file where the > CSS rule is only applied to the top list items. > > The question is; is the jQuery behaviour a bug or a feature? And if > it's a feature, it should be documented. > > Jeroen > > On Aug 29, 2:01 pm, "Brandon Aaron" <[EMAIL PROTECTED]> wrote: > > Because you are binding the click event to the a tag, not the li. So > what > > your saying is get all the a tags within each li (which is all the a > tags in > > your ul). You just need one more child selector in there between the li > and > > a to make sure you only select the immediate a tags of the li only ... > > instead of all the a tags within the li. > > > > $('#test > li > a').click(...); > > > > -- > > Brandon Aaron > > > > On 8/29/07, Jeroen Coumans <[EMAIL PROTECTED]> wrote: > > > > > > > > > Hi, > > > > > See <http://lab.jeroencoumans.nl/jquery/child-selector.html> > > > It's my understanding that child selectors only select direct children > > > of an element. Thus, $('#test > li') should only select direct > > > descendent <li> elements of #test, not nested <li>'s. This is > > > confirmed with a simple CSS rule. So how come, when I attach a click > > > event to a direct child, it seems to attach itself to all > > > descendents? > > > > > Regards, Jeroen > >