比如 55是新添加的就不能删除和修改?
楼上给出的答案我感觉是正确的,我理解这也是动态添加的元素没有绑定事件的原因
代码
$('父元素').on('click', '需要绑定事件的元素选择器比如 .li', function() {
//TODU
})
对比下 55的修改删除 与 之前的修改删除 源码是否相同
如果不是使用事件委托的形式来绑定事件。那么后面生成的元素都是没有被绑定事件的。
所以说,你需要《JavaScript事件代理和委托》。
看了半天终于把楼主的意思看明白了,囧。。楼主你这代码也不贴,谁看的出啦啊
后生成的节点 事件没有绑定上吧。 这样做,
$('父节点页面生成时就在的').on('click','后生成的需要绑定的节点',function() {
})
原因就是在 Dom Ready 时,你 55 那个 li 还没有在 Dom Tree 里,这种场景需要使用事件代理:
$('ul').on('click', 'li', function() {
// ...
});
现在的逻辑是这样的:
在 Dom Ready 时,$('ul') 是已经在 Dom Tree 里的,那么就把事件委托给 ul,每次点击时,从 ul 节点去找它的子级 li。