2011-02-09 18 views
25

Ho uno script, come di seguitoandare a collegare il tasto di scatto - jQuery

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

il button1 ha ID univoci variabili. al clic, la pagina deve reindirizzare all'URL "www.example.com/index.php?id=buttonid" ma ora la pagina sta reindirizzando solo a "button id".

Desidero aggiungere la stringa "www.example.com/index.php?id=" prima dell'URL corrente. Come posso renderlo possibile?

risposta

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

Prima di tutto l'utilizzo di window.location è migliore in quanto secondo la specifica document.location il valore era di sola lettura e potrebbe causare mal di testa nei browser più vecchi o diversi. Controllare le note @MDC DOM document.location page

E per la seconda - con attr metodo di jQuery per ottenere id è una cattiva pratica - si dovrebbe utilizzare direttamente nativo DOM di accesso this.id come il valore assegnato a this è normale elemento DOM.

+0

Grazie mille amico mio ... :) –

+0

+1 per essere il primo a suggerire window.location e this.id, sono andato rapidamente con la mia risposta senza di loro;) – Sarfraz

+0

@Sarfraz cheers lad ! –

2

Perché non basta cambiare la seconda linea di

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

Grazie ... questo funziona .. :) –

+0

@blasteralfred leggi la mia risposta per alcuni ulteriori suggerimenti e buone pratiche –

4

È necessario per specificare il dominio:

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

Grazie ... questo funziona .. :) –

+0

@blasteralfred: Benvenuto :) – Sarfraz

+0

href è inutile e guardare alla mia risposta per vedere più informazioni su cose che avrebbero potuto essere fatte meglio –

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