> > New to jQuery, and I'm trying to use it to set my external links to open
> a
> > new window without using any attributes to  mark the external links.  I
> can
> > do this with regular js, using a.href.match, but I can't get it to work
> with
> > jQuery.  Tried various directions, but no go.
> >
> > Sure I'll feel pretty stupid when this is answered, but here is my ugly,
> > non-functioning code:
> >
> > $(function(){
> >     if ($!("a").href.match("http://www.internal.com";)) {
> >         $("a").click(
> >              function() {
> >                  window.open(this.href); return false;
> >                  console.log("external");
> >              };
> >         );
> >     };
> > });
> 
> This may work (untested), grabs all anchors that don't begin with http
> (internal links should be referred to using '../../foo.html' or
> '/bar.jpg'):
> 
> $("a").not("[EMAIL PROTECTED]").click(
>     function(){
>         window.open(this.href);
>         console.log('external');
>         return false;
>     }
> )
> 
> $("a:[EMAIL PROTECTED]") may also work.

When testing, keep in mind that browsers behaviour with href attributes is 
quite inconsistent. While some return only the value as found in the markup, 
others add the domain and protocol.
-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/

Reply via email to