jQuery将li附加到ul unclickable

时间:2012-05-12 19:05:24

标签: javascript jquery html sequential

我有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下的列表项是不可点击的,我需要它们,所以“链”可以继续。

错误在哪里?任何帮助将非常感激。提前谢谢。

2 个答案:

答案 0 :(得分:2)

尝试:(如果你使用大于1.6.8的jQuery。)

$(document).on('click','li:not(:first-child)',function() {

http://api.jquery.com/on/

答案 1 :(得分:1)

我可以假设,根据您的代码判断,您希望新添加的li继承您附加到现有行为的行为。不幸的是,它无法使用这种方式编写的代码。

您需要以“可观察”的方式附加click事件,以便新添加的元素到dom将附加事件处理程序。

为此,您必须使用.on方法。您可以查看其参考here