在我的JSP页面中,我添加了一些链接:
<a class="applicationdata" href="#" id="1">Organization Data</a>
<a class="applicationdata" href="#" id="2">Business Units</a>
<a class="applicationdata" href="#" id="6">Applications</a>
<a class="applicationdata" href="#" id="15">Data Entity</a>
它具有为click事件注册的jQuery函数:
$("a.applicationdata").click(function() {
var appid = $(this).attr("id");
$('#gentab a').addClass("tabclick");
$('#gentab a').attr('href', '#datacollector');
});
它将在
tabclick
中的<a>
内的<li>
中添加类id="gentab"
。一切正常。这是我的<li>
代码:<li id="applndata"><a class="tabclick" href="#appdata" target="main">Application Data</a></li>
<li id="gentab"><a href="#datacollector" target="main">General</a></li>
现在我有这些链接的jQuery单击处理程序
$("a.tabclick").click(function() {
var liId = $(this).parent("li").attr("id");
alert(liId);
});
对于第一个链接,它工作正常。它正在警告
<li>
id。但是对于第二个<li>
,第一个jQuery添加class="tabclick"
的地方不起作用。我尝试了
$("a.tabclick").live("click", function()
,但随后的第一次链接单击事件也无法正常工作。 最佳答案
由于class
是动态添加的,因此您需要使用事件委托来注册事件处理程序
$(document).on('click', "a.tabclick", function() {
var liId = $(this).parent("li").attr("id");
alert(liId);
});