2013-08-04 125 views
1

我通过如何突出在列表电流/选择的选项卡的其他例子冲浪工作中,逻辑是非常简单的和直接的,这是选择的选项卡的jquery不与附加元素

$('li').click(function(){  
$('li').not(this).removeClass('active').addClass('list'); 
}); 

然而新的元件,其余通过jQuery的append方法追加没有响应号召..只存在L1标签可以被操纵..我不知道..

演示fiddle

回答

1

更改点击事件,像这样:

$(document).on('click', 'li', function(){  
    $('li').not(this).removeClass('active').addClass('list'); 
}); 

JSFiddle

+0

笑不工作 –

+0

谢谢它的工作,我的坏..应该这样 $(document).on('click','li',function(){ $('li')。removeClass('active'); $(这个).addClass('active'); }); –

0

click将无法​​正常工作的动态添加的元素,只在分子在调用click时页面上。

您需要使用on方法。

喜欢的东西:

$('ul').on('click','li',function(){//your logic here}) 
+1

我TRID的方法它不是工作压力太大 – Hushme

+0

请注意,'on'已被应用到已经存在的页面上的父元素,而不是李本身,看到我更新的答案 – Tomer

0

您需要再次运行的JavaScript代码到Click事件绑定在新立标签在追加之后。只需对代码进行一些更改即可,并在追加操作后调用该代码。

JS代码:

function BindClickEvents() { 
    $('li').unbind('click').bind('click',function(){  
     $('li').not(this).removeClass('active').addClass('list'); 
    }); 
    } 

现在你需要任何附加操作后一次,然后再次呼吁承载车身此方法/文件准备好。需要解除绑定才能删除先前可能触发多次单击事件的绑定。

0
$('ul#task-group').on('click','li',function(){ 
    // do something 
});