2016-03-06 56 views
0

我被困在JQuery中新DOM元素上的'点击'操作。我有大约下面的HTML设置:对新的DOM对象进行点击操作

<ul class="dateList"> 
    <li> 
     <a href='#' data-date="2016-01-01"> 
    </li> 
    <li> 
     <a href='#' data-date="2016-01-02"> 
    </li> 
</ul> 

<ul class="timeList"> 
    <li> 
     <a href='#' data-time="00:00:00"> 
    </li> 
    <li> 
     <a href='#' data-time="03:00:00"> 
    </li> 
</ul> 

当页面加载时,时间列表加载第一个可用日期。如果用户点击不同的日期,当前时间列表项将被删除,并且新项目将从预先加载的json中生成。

如果用户点击时间,它应该显示相关信息。并且它在页面加载完成后执行,但是,一旦日期发生变化并且新的时间列表项目被创建,点击事件将停止处理新的时间项目。 ('。li')和$('。timeList li')。find('a')到产生新时间的函数的末尾列出项目,但似乎并不奏效。

任何帮助将不胜感激!

+0

确定“J”的标签是正确的创建? –

+0

为了保持代码正常工作,您可以尝试更改li选项,但保留ul。如果你替换整个ul结构,你必须使用.on(委托事件) –

+0

ul.timelist不会被删除,只有li元素 –

回答

1

你需要引用一个更高层次的选择,如身体这是之前的动态内容除

$('body').on('click','.timeList li',function(){ 
// do stuff 
})