2013-03-27 14 views

Odpowiedz

25

Po pierwsze, brakuje kilka nawiasach:

function addURL() 
{ 
    $(this).attr('href', function() { 
     return this.href + '&cylnders=12'; 
    }); 
} 

drugie, w kodzie "to" odnosi się do okna, a nie element. Spróbuj to zamiast:

<a onclick="addURL(this)" href="/search-results/?var1=red&var2=leather">Click this</a> 

function addURL(element) 
{ 
    $(element).attr('href', function() { 
     return this.href + '&cylnders=12'; 
    }); 
} 
+0

Ah, dobry połów, dziękuję. Niestety, niezupełnie to naprawił, chociaż na pewno błąd syxtax. –

+0

Demo na żywo: http://jsfiddle.net/fSAzA/ – Christophe

+0

Całkowicie przepracowany. DZIĘKI TON za pomoc. –

1
 function addURL() 
     { 
    var data=window.location+"&cylnders=12"; 
    alert(data); 
    } 

spróbować tę koncepcję. mam nadzieję, że da ci jakieś rozwiązanie.

Spróbuj to zbyt

  function addURL() 
      { 
       window.location.href='/search-results/?var1=red&var2=leather&cylnders=12' 
      } 
+0

Po dodaniu tego kliknę link i zwróci mój bieżący adres URL z dołączoną zmienną. Domyślam się, że próbuję pobrać URL w href, dodać varibale do końca, a następnie przejść do tego adresu URL. –

1

Dlaczego nie można dodać lub identyfikator klasy do łącza href go zidentyfikować poprzez jQuery? Wygląda na to, że Twój link jest wywoływany, zanim dodasz dane do atrybutu href.

<a class="datalink" href="/search-results/?var1=red&var2=leather">Click this</a> 
<script> 

$('.datalink').attr('href', function() { 
return this.href + '&cylnders=12'; 

}); 

</script> 
+0

Witam, ponieważ w twoim przykładzie nie zdefiniowano funkcji javascript dla znacznika zakotwiczenia, instrukcja "return" nie będzie działać. Zamiast tego powinno być "this.href = this.href + '& cylnders = 12" – Hemant

+0

Wydaje się działać tak dobrze, jak jest. – chris

Powiązane problemy