web-dev-qa-db-fra.com

aller au lien sur le clic du bouton - jquery

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?

27
blasteralfred Ψ
$('.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.

63
Tom Tu
$('.button1').click(function() {
   document.location.href='/index.php?id=' + $(this).attr('id');
});
5
bobgubko

Vous devez spécifier le domaine:

 $('.button1').click(function() {
   window.location = 'www.example.com/index.php?id=' + this.id;
 });
4
Sarfraz

Pourquoi ne pas simplement changer la deuxième ligne en

document.location.href="www.example.com/index.php?id=" + $(this).attr('id');
2
Chowlett

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

0
Guillaume86