$('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'); )); ) ));
Vous pouvez le faire directement avec HTML, mais ce balisage n'est pas valide, cela prend en charge les affaires sans code invalide et balisage inutile.
Ou, vous pouvez toujours éviter les problèmes de validation et ajouter simplement l'élément de classe target = _blank à tous les liens avec des attributs href commençant par http: //. L'exemple ci-dessous ne cible que les liens dans une zone #content. Une telle approche pourrait être une bonne idée si vos menus sont dynamiques et créent des URL complètes.
$("#content a(href^='http://')").attr("target","_blank");
Notez également qu'il existe une grande variété de façons différentes de cibler uniquement les liens externes.