/ Published in: jQuery
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
$('a').each(function() { var a = new RegExp('/' + window.location.host + '/'); if(!a.test(this.href)) { $(this).click(function(event) { event.preventDefault(); event.stopPropagation(); window.open(this.href, '_blank'); }); } }); You can do this straight with HTML, but that is invalid markup, this takes care of business without invalid code and unnecessary markup. Or, you can still avoid the validation problems and just append the class target=_blank thing to any links with href attributes starting with http://. The example below only targets links in a #content area. Scoping down like that might be a good idea in case your menus are dynamic and create full URLs. $("#content a[href^='http://']").attr("target","_blank");
URL: http://css-tricks.com/snippets/jquery/open-external-links-in-new-window/