Javascript Jquery click函数不适用于已添加的html
我正在尝试将li的子html附加到Javascript Jquery click函数不适用于已添加的html,javascript,jquery,Javascript,Jquery,我正在尝试将li的子html附加到div.row中。第一次函数工作正常,但第二次它不工作,但我对jquery选择器使用相同的类 我搜索了一下,找到了jquery,我也尝试过使用它和jqueryon('click','',function(){…})但两者都不能使用附加函数 $(“body”).delegate(“.list group li a”,“click”,函数(事件){ event.preventDefault(); if($(this).parent().children('ul')
div.row
中。第一次函数工作正常,但第二次它不工作,但我对jquery选择器使用相同的类
我搜索了一下,找到了jquery,我也尝试过使用它和jqueryon('click','',function(){…})代码>但两者都不能使用附加函数
$(“body”).delegate(“.list group li a”,“click”,函数(事件){
event.preventDefault();
if($(this).parent().children('ul')。长度>0){
$('.append level').append(
''+
“子列表组”+
$(this.parent().children('ul').html()+
'');
}
});代码>
.hide child{display:none}
父列表组
-
-
您的delegate()函数很好(请注意,现在首选on(),但它的作用与引擎盖下的delegate()完全相同)
您的问题在于选择器或html。原始项目在“.list group”中,但附加的项目不在其中,因此选择器找不到它们
编辑:上面的问题是因为.html只复制ul元素的内部html。要克隆实际的ul,请包装它们,然后获取包装元素的.html。这似乎有效:(您也可以使用.clone())
$('.append level')。append(
''+
“子列表组”+
$(this.parent().children('ul').wrap('').html()+
'');
有人能解释下一票的原因吗?“两人都在使用附加函数。”--那么问题出在哪里?#没有我的下一票,但你没有问任何问题,你要求完成一些实现。这并不是在讨论这个话题。@ScottHunter谢谢你让我知道这个错误,我已经改正了。两者都不是working@Mr.Developer“它不工作。”这不是一个具体的问题。非常感谢您提供的指导,所以我必须再次为子列表组创建相同的函数?我看了另一眼-我看到您所有的ul都有列表组,但当您复制.children('ul').html()时,您只能得到这些ul的子级。如果您检查您的“子列表组”,您将看到没有父ul标记的li标记。参见问题编辑
$('.append-level').append(
'<div class="col-md-3 col-xs-12 col-sm-6">'+
'<h2>Child List Group</h2>'+
$(this).parent().children('ul').wrap('<div/>').html()+
'</div>');