我在 for 循环中有一组动态生成的锚标记,如下所示:
<div id = "solTitle"> <a href = "#" id = "' + tagId + '" onClick = "openSolution();"> ' + solTitle + '</a></div> <br>';
一旦这段代码被执行,其中一个案例的 html 输出将如下所示:
<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>
现在,我希望不同的文本显示在点击上述链接。 OpenSolution ()看起来像这样:
function openSolution() {
alert('here');
$('#solTitle a').click(function(evt) {
evt.preventDefault();
alert('here in');
var divId = 'summary' + $(this).attr('id');
document.getElementById(divId).className = '';
});
}
当我执行它并单击其中任何一个链接时,流不会进入 jquery click 处理程序。我通过上面的警报进行了检查。它只显示警报-“ here”而不显示警报-“ here in”。 在第二次单击链接时,所有东西都可以使用正确的 divId 值完美工作。