Thanks Liam, but that's not working...

Not sure why .click is in your example? Am I right in thinking by
adding .parents to the end of each tag in your example that you're
'going down' different levels in the unordered list?

This is what I have:

$("li a").click(function(){
        $(this).parents("ul").parents("li").addClass("nav-selected");
});

Any ideas what's going wrong?


On Sep 29, 10:29 am, Liam Potter <radioactiv...@gmail.com> wrote:
> $("li a").click(function(){
>     $(this).parents("ul").parents("li").addClass("className");
>
> });
> osu wrote:
> > Hi Ryan,
>
> > That only affects the child of theparent.
>
> > What I want to do is this:
>
> > <ul>
> > <li>Link 1</li>
> > <li>Link 2 *This is the link I want to add a class to*
> >  <ul>
> >   <li>Link 2a</li>
> >   <li>Link 2b</li> *This is the active link*
> >   <li>Link 2c</li>
> >  </ul>
> >    </li>
> > <li>Link 3</li>
> > </ul>
>
> > Rather than affecting a descendent/child of theparentlink, I need to
> > work on the *parentlink* under which the active link is found.
>
> > Any ideas?
>
> > Thanks,
>
> > osu
>
> > On Sep 26, 7:48 pm, "ryan.j" <ryan.joyce...@googlemail.com> wrote:
>
> >> $('.nav-selected:first')
>
> >> On Sep 26, 5:36 pm, osu <onesiz...@googlemail.com> wrote:
>
> >>> Can anyone help with this one please?
>
> >>> Thanks,
>
> >>> osu
>
> >>> On Sep 25, 2:03 pm, osu <onesiz...@googlemail.com> wrote:
>
> >>>> Thanks Ryan for the alternative,
>
> >>>> However, I need to do the following now (see message above your last
> >>>> post):
>
> >>>> I need to highlight *only* the top-parentitem (the same one I just
> >>>> ran 'return false;' on) with the class 'nav-selected'.
>
> >>>> Any idea how I could do that?
>
> >>>> Thanks,
>
> >>>> osu
>
> >>>> On Sep 25, 11:13 am, "ryan.j" <ryan.joyce...@googlemail.com> wrote:
>
> >>>>> rather than removing the href you could use the preventDefault
> >>>>> function, which will leave the href intact should you want to unbind
> >>>>> it at a later date.
>
> >>>>> usage is something like..
>
> >>>>> $('a.submit-button').click(function(e){
> >>>>>         e.preventDefault();
> >>>>>         doSubmit( $(this).html() );
>
> >>>>> })
>
> >>>>> On Sep 24, 5:32 pm, osu <onesiz...@googlemail.com> wrote:
>
> >>>>>> Thanks Andi,
>
> >>>>>> Yes, I meant an unordered list as you showed.
>
> >>>>>> Rather than remove the <a> tag, is it possible to just 'deactivate'
> >>>>>> it? i.e. when you click it, nothing happens, but the <a> tag stays in
> >>>>>> place?
>
> >>>>>> I ask, because I'd like to keep the CSS as simple as possible.
>
> >>>>>> Thanks,
>
> >>>>>> osu
>
> >>>>>> On Sep 24, 6:05 pm, Andi23 <dowhatyouw...@gmail.com> wrote:
>
> >>>>>>> First of all, let's clarify the actual HTML.  I assume this is what
> >>>>>>> you have:
> >>>>>>> <ul>
> >>>>>>>     <li><a href="#">Link 1</a></li>
> >>>>>>>     <li><a href="#">Link 2</a></li>
> >>>>>>>     <li><a href="#">Link 3</a>
> >>>>>>>         <ul>
> >>>>>>>             <li><a href="#">Link 3a</a></li>
> >>>>>>>             <li><a href="#">Link 3b</a></li>
> >>>>>>>             <li><a href="#">Link 3c</a></li>
> >>>>>>>         </ul>
> >>>>>>>     </li>
> >>>>>>>     <li><a href="#">Link 4</a></li>
> >>>>>>> </ul>
>
> >>>>>>> When you say "remove the link", I assume you want to turn this:
> >>>>>>> <li><a href="#">Link 3</a>
> >>>>>>> into this:
> >>>>>>> <li>Link 3
>
> >>>>>>> Given that, try this jQuery:
> >>>>>>> $("li ul").siblings("a").each(function(){
> >>>>>>>     $(this).replaceWith($(this).html());
>
> >>>>>>> });

Reply via email to