我有following code将数据添加到无序列表。麻烦的代码如下:
$('li:not(:first-child)').click(function() {
var clickedLi = this;
$(this).parent().prepend(clickedLi);
var selectedLi = $(this).text();
alert(selectedLi);
$(this).parent().parent().nextAll().children('ul').children().replaceWith('<li>Please select</li>');
//ajax call
var returnedData = "<li>Dataset1</li><li>Dataset2</li><li>Dataset3</li>";
//populate next with returned data
$(this).parent().parent().next().children('ul').append(returnedData);
});
如果单击第一个ul中的一个选项,数据将添加到第二个ul。但是,这个ul下的列表项是不可点击的,我需要它们,所以“链”可以继续。
错误在哪里?任何帮助将非常感激。提前谢谢。
答案 0 :(得分:2)
尝试:(如果你使用大于1.6.8的jQuery。)
$(document).on('click','li:not(:first-child)',function() {
答案 1 :(得分:1)
我可以假设,根据您的代码判断,您希望新添加的li继承您附加到现有行为的行为。不幸的是,它无法使用这种方式编写的代码。
您需要以“可观察”的方式附加click事件,以便新添加的元素到dom将附加事件处理程序。
为此,您必须使用.on
方法。您可以查看其参考here