2009-09-30 10 views
1
$(document).ready(function(){ 

    $("a").click(function() { 
     $("#content").load($(this).attr("href")); 
     window.location.hash = $(this).attr("href"); 
     return false; 
    }); 

}); 

Donc j'utilise ce code pour charger tous les liens dans le div (content). Mais je veux que tous les liens qui ont une cible de _blank (nouvelle page), pour s'ouvrir dans une nouvelle page - soient leur comportement par défaut. Comment puis-je faire ceci?Comment puis-je modifier ce code pour affecter simplement les liens normaux? (basic jQuery)

Vive à l'avance - (je suis un noob :) jQuery)

Répondre

4

Je pense que cela devrait le faire:

$(document).ready(function(){ 
$("a[target!='_blank']").click(function(){ 

$("#content").load($(this).attr("href"); 

window.location.hash=$(this).attr("href"); 
     return false; 
    }); 
}); 

REMPLACÉ:

$("a").click(function(){...} 

Avec:

$("a[target!='_blank']").click(function(){...} 

http://docs.jquery.com/Selectors/attributeNotEqual#attributevalue

+0

Brillante, à votre santé! + merci pour la réponse speeeedy. – Tom

+0

Comment puis-je ajouter une règle? Dites, target! = '_ Blank' && target! = '_ Top' Cela fonctionnerait-il? – Tom

+0

Je crois que dans ce cas vous voulez les enchaîner comme ceci: $ ("a [target! = '_ Blank'] [target! = '_ Top']"). Click (function() {...} – brendan