Gehen Sie zum Link, wenn Sie auf die Schaltfläche klicken – jQuery

Lesezeit: 2 Minuten

Benutzer-Avatar
Alfred

Ich habe ein Skript wie unten

$('.button1').click(function() {
    document.location.href=$(this).attr('id');
});

Die Schaltfläche1 hat variable eindeutige IDs. Beim Klicken muss die Seite zur URL umleiten “www.example.com/index.php?id=buttonid“aber jetzt leitet die Seite nur weiter zu”button id“.

Ich möchte die Zeichenfolge “www.example.com/index.php?id=” vor der aktuellen URL. Wie kann ich das ermöglichen?

Benutzer-Avatar
Tom Tu

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

Zunächst einmal verwenden window.location ist besser als laut Spezifikation document.location Der Wert war schreibgeschützt und könnte Ihnen in älteren/anderen Browsern Kopfschmerzen bereiten. Notizen prüfen @MDC DOM document.location-Seite

Und zum zweiten – mit attr Die jQuery-Methode zum Abrufen der ID ist eine schlechte Vorgehensweise. Sie sollten den direkten nativen DOM-Accessor verwenden this.id als der zugewiesene Wert this ist ein normales DOM-Element.

  • Vielen Dank mein Freund… 🙂

    – Alfred

    9. Februar 2011 um 11:54 Uhr

  • +1, weil ich als erster window.location und this.id vorgeschlagen habe, ging ich mit meiner Antwort schnell ohne sie;)

    – Sarfraz

    9. Februar 2011 um 12:03 Uhr

$('.button1').click(function() {
   document.location.href="https://stackoverflow.com/index.php?id=" + $(this).attr('id');
});

Benutzer-Avatar
Sarfraz

Sie müssen die Domäne angeben:

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

  • href ist unnötig und sehen Sie sich meine Antwort an, um weitere Informationen zu Dingen zu erhalten, die besser hätten gemacht werden können

    – Tom Tu

    9. Februar 2011 um 11:57 Uhr

  • @Tom Tu: Ja, guter Vorschlag, Code aktualisiert. Sie müssen die Ablehnung berücksichtigen, sie war sowieso nicht falsch.

    – Sarfraz

    9. Februar 2011 um 11:59 Uhr

Warum ändern Sie nicht einfach die zweite Zeile in

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

Sie können die aktuelle URL mit erhalten window.location.href aber ich denke, Sie benötigen das jQuery-Abfrage-Plugin, um die Abfragezeichenfolge zu manipulieren: http://plugins.jquery.com/project/query-object

1158780cookie-checkGehen Sie zum Link, wenn Sie auf die Schaltfläche klicken – jQuery

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy