Ho una serie di tag di ancoraggio generati dinamicamente in un ciclo for come segue:utilizzare jQuery clic per gestire ancoraggio onClick()
<div id = "solTitle"> <a href = "#" id = "' + tagId + '" onClick = "openSolution();"> ' + solTitle + '</a></div> <br>';
Una volta che questo codice viene eseguito l'output HTML per uno dei casi apparirebbe Mi piace:
<div id = "solTitle"> <a href = "#" id = "solution0" onClick = "openSolution();">Solution0 </a></div> <br>
<div id = "solTitle"> <a href = "#" id = "solution1" onClick = "openSolution();">Solution1 </a></div> <br>
Ora voglio che vengano visualizzati diversi testi facendo clic sui collegamenti sopra. openSolution() appare così:
function openSolution() {
alert('here');
$('#solTitle a').click(function(evt) {
evt.preventDefault();
alert('here in');
var divId = 'summary' + $(this).attr('id');
document.getElementById(divId).className = '';
});
}
Quando eseguire e fare clic su uno dei link, il flusso doesnot venire all'interno del gestore jquery click. L'ho controllato con gli avvisi sopra riportati. Visualizza solo l'avviso - "qui" e non l'avviso - "qui dentro". Cliccando due volte sul collegamento, tutto funziona perfettamente con il valore corretto di divId.
che non sarà valido poiché la #soltitle viene ripetuta –
@ToniMichelCaubet - L'ho menzionato nell'ultimo paragrafo. Immagino che potrebbe essere un po 'più chiaro, grazie. –