2009-11-24 9 views
1

Je sais pratiquement rien jquery alors s'il vous plaît aidez-moijquery remplacer une partie d'une url

J'essayer

function googlemapLinks { 
$('div.gmnoprint a').attr("href").replace('ll','q'); 
} 

il ne fonctionne pas J'ai un <div class="gmnoprint"> Dans ce div google maps met un javascript lien dans maps.google.com/maps?ll=5 ..... J'ai besoin de maps.google.com/maps?q=5 .....

Pouvez-vous me montrer une fonction que je peux déposer dans un fichier script?

Répondre

1

Pour définir une valeur avec attr, vous devez transmettre la nouvelle valeur en tant que deuxième paramètre. essayez ceci:

$('div.gmnoprint a').attr('href', $('div.gmnoprint a').attr('href').replace('ll','q')); 
3

essayez ceci:

function googlemapLinks { 
    var lnk = $('div.gmnoprint a').attr("href"); 
    $('div.gmnoprint a').attr("href",lnk.replace('ll','q')); 
} 
+0

Merci d et TheVillageIdiot. Cela semble très faisable mais ça ne marche pas ... peut-être parce que googlemap est déjà écrit en javascript et non en html? Est-il possible d'attraper cet URL avec ll dedans et l'ajouter au texte ci-dessous, puis le remplacer par q fonction appendMap() { \t if ($ ('. Block-gmap_location'). Longueur> 0) { $ ('. Block-gmap_location'). Append ($ ('

Voir ceci sur Google maps

')); \t \t} – kritter

+1

Si cela ne fonctionne pas, c'est probablement parce que $ ('div.gmnoprint a') 'est vide au moment où le code est exécuté. assurez-vous que 'googlemapLinks()' est appelé après que la carte a été montrée, à un moment où vous êtes sûr qu'elle existe. essayez simplement de taper 'javascript: alert ($ ('div.gmnoprint a'). length);' dans le champ d'adresse de votre navigateur, pour vous assurer que le sélecteur fonctionne et retourner tous les éléments –

0

peu tard à la conversation, mais vous pouvez essayer:

$('.gmnoprint a').each(function() { 
    this.href = this.href.replace('ll','q'); 
}) 

Les autres fonctions semblent boucle alors que cela va trouver le lien puis remplacez '11' par 'q'. Eh bien, il devrait = P

0

Essayez ceci pour changer un lien ou un tag href dans le conteneur gmnoprint. Si vous n'utilisez pas chaque boucle, tous les hrefs contiendront la première instance du href sur la page. ce code ressemble à chaque une balise et remplace simplement cette instance si elle se heurte à 11 et modifie le texte q

$('.gmnoprint a').each(function(){ 
    $(this).attr('href', $(this).attr('href').replace('11','q')); 
}); 
Questions connexes