2009-01-27 4 views
1

Mon but est de rendre le titre de chaque lien externe égal à son attribut href.Comment faire un titre de lien identique à son URL en utilisant jQuery?

Ma question est, comment puis-je rendre la variable title disponible à la fonction attr?

$('a').filter(function() { 

    var title= $(this).attr('href'); 
    return this.hostname && this.hostname !== location.hostname; 

}) 
    .removeAttr('target') 
    .attr('rel', 'external') 
    .attr('title', title); 

$('a[rel="external"]').click(function() { 
    window.open($(this).attr('href')); 
    return false; 
}); 

Je pense que j'ai en quelque sorte à l'envers, et la réponse est en attr(key, fn)

Répondre

3
$('a').each(function() { 
    var href = $(this).attr('href'); 
    if(this.hostname && this.hostname !== location.hostname) { 
     $(this).removeAttr('target') 
       .attr('rel', 'external') 
       .attr('title', href) 
       .click(function() { 
        window.open(href); 
        return false; 
       }); 
    } 
}); 
+0

Merci! Y at-il un moyen de combiner cela avec la fonction de clic? – meleyal

+0

Je l'ai changé. Il n'y a vraiment pas besoin de lier un événement click, cependant, je ne suis pas sûr de savoir pourquoi vous voulez le faire de cette façon. Mais je suis sûr que vous avez vos raisons. –

+0

Nos liens externes devraient s'ouvrir dans sa propre fenêtre. Je préférerais pas mais les règles sont les règles. Merci encore :) – meleyal

Questions connexes