2016-03-06 7 views
0

Я застрял на действии «на клик» на новых элементах DOM в JQuery. У меня есть примерно следующие настройки 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.

Если пользователь нажимает на это время, он должен показывать соответствующую информацию. И после загрузки страницы, однако, после изменения даты и создания новых элементов списка времени событие on click перестает работать с новыми элементами времени.

Я попытался добавить $ ('.ListList'). Find ('li') и $ ('.ListList li'). Find ('a') до конца функции, которая генерирует новое время но он не работает.

Любая помощь будет оценена!

+0

Вы уверены, что «J» тег правильно? –

+0

Чтобы сохранить работоспособность кода, вы можете попробовать просто изменить параметры li, но сохранить ul. Если вы замените всю структуру ul, вам нужно использовать .on (делегированные события) –

+0

ul.timelist не удаляется, только элементы li –

ответ

1

вам нужно будет ссылаться на более высокий уровень выбора, такие как орган, который был создан до динамического контента дополнение

что-то вроде

$('body').on('click','.timeList li',function(){ 
// do stuff 
}) 
Смежные вопросы