Karl, I'm pretty sure I'm reading you right, but are you saying that by all accounts JQuery should account for this and return the string- literal value of href and not IE's absolute path? If so, it's not working properly. I wish I could show you the live code, because it's probably easier to visualize, but here's the process involved in these specific anchors appearing before manipulation: 1. User visits page 2. User makes selection from a drop-down 3. Ajax call initialized sending the href attribute as the variables using a POST request
So in this case, the anchors in the drop-down list are present on page load and part of the initial DOM structure. That means that if JQuery is supposed to sort this out for me, it's not. If you meant that I'd absolutely have to use Javascript's getAttribute(), then I'll try that and see if it works. On Mar 25, 1:17 pm, Karl Swedberg <k...@englishrules.com> wrote: > Hi Shane, > > IE has a second "flag" argument for getAttribute that, when set to 2, > is supposed to get the literal value of the attribute rather than > their special-sauce value. > > So, this.getAttribute('href', 2) *should* get the relative href. > (note: no need to do $(this)[0] ; this works just fine) > > jQuery uses that flag internally, so .attr('href') should do the same > thing: > > var attr = !jQuery.support.hrefNormalized && notxml > && special > // Some attributes require a special > call on IE > ? elem.getAttribute( name, 2 ) > : elem.getAttribute( name ); > > I believe that this works in every case except when the href is set > via JavaScript. In that case, I'm not sure anything can be done. > > --Karl > > ____________ > Karl Swedbergwww.englishrules.comwww.learningjquery.com > > On Mar 25, 2009, at 12:21 PM, Shane Riley wrote: > > > > > Ha! I looked at your post too fast, and didn't notice that it was pure > > Javascript. Sorry. I'll try it and see. > > > The way I currently have it will not work with javascript turned off > > either. I'm doing it this way only because the client is requiring the > > user to have Javascript enabled to use the site (it's a backend system > > for very specific clients). They want to add all sorts of animations > > and effects like everyone wants to do once they see JQuery animations > > in action. > > > On Mar 25, 12:14 pm, Martijn Houtman <martijn.hout...@gmail.com> > > wrote: > >> On Mar 25, 2009, at 5:04 PM, Shane Riley wrote: > > >>> Thanks for the article link, but your proposed change isn't valid > >>> JQuery, is it? My exact jQuery code to read in the value looks like > >>> this: > >>> pageID = $(this).attr("href"); > >>> Adding what you suggested to make it $(this)[0].attr("href") will > >>> not > >>> do anything apart from force the link to be followed. > > >> Well, no. I suggested using: > > >> pageID = $(this)[0].attr; > > >> This is plain JavaScript, rather than using jQuery's attr() function. > >> As the article suggests, this works cross-browser. > > >>> I think I'm going to have to move the contents of href to rel > >>> instead. > > >> Well, you could, but I wouldn't; this is not what the rel attribute > >> is meant for. Besides, it would break the anchor when JavaScript is > >> turned off. > > >> Regards, > >> -- > >> Martijn.