J'ai un script comme ci-dessous
$('.button1').click(function() {
document.location.href=$(this).attr('id');
});
le bouton1 a des identifiants uniques variables. au clic, la page doit rediriger vers l'url "www.example.com/index.php?id=buttonid
"mais maintenant la page ne redirige que vers" button id
".
Je veux ajouter la chaîne "www.example.com/index.php?id=
"avant l'URL actuelle. Comment rendre cela possible?
$('.button1').click(function() {
window.location = "www.example.com/index.php?id=" + this.id;
});
Tout d'abord en utilisant window.location
est meilleur que selon les spécifications document.location
la valeur était en lecture seule et pourrait vous causer des maux de tête dans des navigateurs plus anciens/différents. Vérifier les notes @ page document MDC DOM document.location
Et pour la seconde - utiliser attr
la méthode jQuery pour obtenir id est une mauvaise pratique - vous devez utiliser l'accesseur DOM natif direct this.id
car la valeur attribuée à this
est un élément DOM normal.
$('.button1').click(function() {
document.location.href='/index.php?id=' + $(this).attr('id');
});
Vous devez spécifier le domaine:
$('.button1').click(function() {
window.location = 'www.example.com/index.php?id=' + this.id;
});
Pourquoi ne pas simplement changer la deuxième ligne en
document.location.href="www.example.com/index.php?id=" + $(this).attr('id');
vous pouvez obtenir l'url actuelle avec window.location.href
mais je pense que vous aurez besoin du plugin de requête jQuery pour manipuler la chaîne de requête: http://plugins.jquery.com/project/query-object