我浏览了其他如何在列表中突出显示当前/选定选项卡的示例,逻辑非常简单直接,这是
$('li').click(function (){
$('li').not(this).removeClass('active').addClass('list');
});
但是我通过jquery的append方法附加的新元素没有响应调用..只有现有的li标签可以被操作..我不知道..
demo fiddle
答案 0 :(得分:1)
更改点击事件,如下所示:
$(document).on( 'click', 'li', function (){
$('li').not(this).removeClass('active').addClass('list');
});
答案 1 :(得分:0)
click
不适用于动态添加的元素,仅适用于调用click
时页面上的元素。
您需要使用on方法。
类似的东西:
$('ul').on('click','li',function(){//your logic here})
答案 2 :(得分:0)
您需要再次运行这些javascript代码,以便在追加新li标签后绑定它们。您可以通过对代码进行一些更改来实现,并在追加操作后调用该代码。
JS代码:
function BindClickEvents() {
$('li').unbind('click').bind('click',function (){
$('li').not(this).removeClass('active').addClass('list');
});
}
现在需要在body load / document ready上调用此方法一次,然后在任何追加操作后再次调用。需要取消绑定才能删除所有可能触发多次点击事件的先前绑定。
答案 3 :(得分:0)
$('ul#task-group').on('click','li',function (){
// do something
});