gpt4 book ai didi

javascript - 如何将点击事件添加到动态id

转载 作者:行者123 更新时间:2023-12-03 11:58:12 25 4
gpt4 key购买 nike

我有一个ul列表将随着数量的增加而动态创建。我有一个for循环将点击绑定(bind)到所有这些 UL

我需要做的是,当用户单击它时,删除以前选择的列表并将单击的列表添加为选定的。

不知何故k for循环中的值对于递增列表的选择是不正确的,但对于点击功能是正确的。

我想知道为什么它( k )不正确?因为它已正确绑定(bind)所有 5 ul 的点击事件但不在点击事件内。

当我console.log k时它打印的值 6对于所有 ul。我想知道原因。怎么解决这个问题呢?

代码

jQuery(document).ready(function(){
for(var k=1;k<=5;k++){
jQuery("#sample"+k+" li").click(function(){
console.log(k);
jQuery("#sample"+k+" li.selected").removeAttr('class');//removing previous selection
jQuery(this).addClass('selected');//adding selection for clicked one
});
}
});

JSFIDDLE

最佳答案

您可以使用 jQuery 事件委托(delegate)来监听父级上的事件并将其传递给子级。这是捕获动态添加元素的首选方法。

参见:jQuery event delegation with .on (this reference)

关于javascript - 如何将点击事件添加到动态id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25512170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com