Last time :(
You need the a variable as a jQuery object to call the addClass()
method
The a[0].href gets the href (duh), or you could use a.attr('href')

var file = jQuery.url.attr("file");
                alert(file);
                $('.design_html_nav li').each(function(){
        var a = $(this).find('a');
        if(a[0].href===file){
                a.addClass('selected');
        }
 });

On Mar 12, 10:00 am, mkmanning <michaell...@gmail.com> wrote:
> Sorry, it should just be if(a===file){..
>
> the var 'a' is already the href.
>
> On Mar 12, 8:15 am, vintagetwitch <ksandn...@gmail.com> wrote:
>
> > Thanks for your response, and my apologies for the double post.
> > So now, this is what I have, and for some reason, now I'm not able to
> > extract any values from the array of <a> tags, even with an alert.
> > Don't I need to loop through them to see if 'a === file'.
>
> > var file = jQuery.url.attr("file");
> >                 alert(file);
> >                 $('.design_html_nav li').each(function(){
> >         var a = $(this).find('a').attr('href');
> >         if(a.href===file){
> >                 a.addClass('selected');
> >         }
> >                 });
>
> > cheers
>
> > On Mar 11, 6:14 pm, mkmanning <michaell...@gmail.com> wrote:
>
> > > Deja Vu :)
>
> > > Why use a separate array?
> > > $('.design_html_nav li').each(function(){
> > >         var a = $(this).find('a').attr('href');
> > >         if(a[0].href===file){
> > >                 a.addClass('selected');
> > >         }
>
> > > });
>
> > > On Mar 11, 3:36 pm, ksandn...@gmail.com wrote:
>
> > > > Hi there,
>
> > > > What I'm trying to do as add a 'selected' class to the current page
> > > > navigation link. I want to cycle through all the page links and if
> > > > 'file' matches 'hrefs', add the class accordingly. Specifically, I'm
> > > > having problems with the last part of code below ---if (hrefs[i] ==
> > > > file) {$(this).addClass('selected');}---.  I can't seem to isolate the
> > > > matching link.
> > > > I no javascript pro, so I'm probably approaching this all wrong.
>
> > > > My code is below. The alerts are just there to make sure the variables
> > > > are storing the values I want.
>
> > > >                var file = jQuery.url.attr("file");
> > > >                 alert(file);
>
> > > >                 var hrefs = new Array();
> > > >                 $('.design_html_nav li').each(function(){
> > > >                   hrefs.push($(this).find('a').attr('href'));
> > > >                 });
> > > >                 alert (hrefs[6]);
>
> > > >                 for(i=0;i<hrefs.length;i++)
> > > >                 {
> > > >                         if (hrefs[i] == file) {$('.design_html_nav li 
> > > > a').addClass
> > > > ('selected');}
> > > >                 }
>
> > > > Thanks, Kevin

Reply via email to