I think you want to use :has() selector instead of contains(). http://docs.jquery.com/Selectors/has
I think contains() works only for text nodes and not elements. I haven't tested it to be sure. On Aug 20, 9:06 pm, Hans <deboem...@gmail.com> wrote: > hello everybody, > > the site I'm building has a dropdown menu based on an unordered list > with 3 levels. I've got it working nicely using jQuery, but there is > one thing I can't get working.. > > this is the problem: > > the 'a href' on the first tow levels serves to open up the level below > without leaving the page. there is a real link for the non-script > users, so I have switched off the first two levels using > "event.preventDefault();" > > however, on the second level some items do not contain any 3rd level > links, so in that case the user should navigate away using the 2nd > level link. therefore the link on level 2 should one be disabled if > the list-item contains a list (ul). > > I tried doing this: > > $('ul#hoofdNavigatieLijst > li > ul > li > a ').click(function(event) > { > if ($(this).parent('li').contains('ul')) { > event.preventDefault(); > } > }); > > it doesn't do the trick, however. > > can anyone help me? thanks!