我在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处理程序内。我通过上面使用的警报检查了它。它仅显示警报-“此处”,而不显示警报-“此处”。第二次单击该链接时,一切正确,只要使用divId的正确值即可。