Aggiungere un parametro di Stringa di Query per collegamento statico fare clic su

Sto cercando un modo efficace in modo dinamico l’iniezione di un parametro di stringa di query quando un visitatore fa clic su un statici di ancoraggio-link.

Per esempio un link:

<a href="http://www.johndoeslink.com">Test</a>

Voglio passare una stringa di query a pagina successiva, ma è necessario assegnare il valore in modo dinamico. Come posso realizzare questo?

So che questo è semplice, mi manca solo una cosa ovvia! =\

Grazie in anticipo,

Giovanni d

InformationsquelleAutor JohnDoe | 2014-08-13

2 Replies
  1. 9

    Ci sono molti modi si può fare questo. Qui di seguito ho elencato due metodi molto semplici. Qui sto supponendo che hai già un riferimento al a elemento (qui ho chiamato questo element):

    Modificare il href attributo

    element.href += '?query=value';

    Utilizzando un clic listener di eventi

    element.addEventListener('click', function(event) {
        //Stop the link from redirecting
        event.preventDefault();
    
        //Redirect instead with JavaScript
        window.location.href = element.href + '?query=value';
    }, false);
    La risposta qui sotto è abbastanza decente, ma direi che questa è la miglior soluzione! Grazie!
    Che cosa succede se l’url (elemento.href) ha già un parametro (ad esempio, cnn.com?show=true&page=2)? Che farà sì che il vostro metodo di fallire, come non sarà solo aggiungere un ulteriore punto di domanda.
    è possibile utilizzare un if istruzione per verificare se un window.location.search è già presente. if (window.location.search) window.location.href = element.href + '&query=value';
    È molto meglio usare solo element.search = '?query=value'. In questo modo non devi smanettare con se l’elemento è già stata una querystring o non, che si potrebbe aggiungere, invece di sostituzione.

    InformationsquelleAutor James Donnelly

  2. 3

    Se si conosce già il valore da aggiungere durante il caricamento della pagina, la si può aggiungere a questo, quando il documento è pronto : Se si sta utilizzando JQuery uso questo:

    $( 'class' ).attr( 'href', function(index, value) {
    
    
    return value + '?item=myValue';
    });

    Altrimenti normale (Javascript):

    var link = document.getElementById("mylink");
    link.setAttribute('href', 'http://www.johndoeslink.com'+'?item=myValue');
    jQuery non è tagged qui. Si dovrebbe specificare che in ordine per questo lavoro è necessario includere la libreria jQuery.
    Hai ragione, ho aggiornato la risposta.
    Perfetto, grazie!
    È molto meglio usare il search proprietà invece di href. Poi si possono fare element.search = '?query=value'. In questo modo non devi smanettare con la necessità di impostare il dominio e il percorso porzioni di url.

    InformationsquelleAutor Oualid KTATA

Lascia un commento