HTML:
<a href="http://www.google.com.br" id="ancora1">link do google</a> <a href="http://www.yahoo.com.br" id="ancora2">link do yahoo</a>
JS:
function teste(teste) { alert(teste); } for(i=1; i<3; i++) { var link = document.getElementById('ancora'+i); var a = link.href; link.onclick = function() { teste(a); return false; } link.href = "#"; }
Então...
O problema é o seguinte.
Quando eu clico no link do google ali, o endereço ao invés de apontar para o google, aponta para endereço do último da lista, no caso o yahoo...
Em teoria, o javascript em realtime ficaria assim:
<a href="#" id="ancora1" onclick="teste(a)">link do google</a> <a href="#" id="ancora2" onclick="teste(a)">link do yahoo</a>
E a variável "a" acaba terminando com o valor de "yahoo", então qualquer um dos dois links que eu clique mostra no alert o "yahoo".
Entenderam a idéia?
Era para estar escrito no link algo +- assim:
<a href="#" id="ancora1" onclick="http://www.google.com.br">link do google</a> <a href="#" id="ancora2" onclick="http://www.yahoo.com.br">link do yahoo</a>
Entenderam o ponto? era para a variável A ser escrita ali dentro do "onclick" e não "puxada" da memória na hora que clicasse...
[]'s
Edição feita por: Firehalk, 11/10/2008, 16:35.
Por favor, use [CODE] para trechos de código.