添加类后jQuery单击事件无效

添加类后jQuery单击事件无效

在我的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>身份证。但是第二个<li>,在那里class="tabclick"是由第一个添加的jQuery不起作用的。

我试过$("a.tabclick").live("click", function(),但是第一个链接单击事件也不起作用。


米琪卡哇伊
浏览 404回答 3
3回答

倚天杖

因为class动态添加,则需要使用事件委托注册事件处理程序。$(document).on('click',&nbsp;"a.tabclick",&nbsp;function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;liId&nbsp;=&nbsp;$(this).parent("li").attr("id"); &nbsp;&nbsp;&nbsp;&nbsp;alert(liId);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});

梵蒂冈之花

.live()当您想要用于委托元素时,请使用.on()来使用以下语法$(document).on('click',&nbsp;"a.tabclick",&nbsp;function()&nbsp;{此语法适用于委托事件。.on()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery