Jquery each()添加事件处理程序
我对jQuery中的.each()函数有一个问题,当我成功获取Ajax并将其存储在数据变量中时,我会调用以下代码行:Jquery each()添加事件处理程序,jquery,json,iteration,each,Jquery,Json,Iteration,Each,我对jQuery中的.each()函数有一个问题,当我成功获取Ajax并将其存储在数据变量中时,我会调用以下代码行: $.each(data, function() { $('#modulesList').append("<p><a href='#'>" + this.code + "</a></p>") .click(function(){ alert($(this)); }); }); $。每个(数据、函数(){ $(“#模
$.each(data, function() {
$('#modulesList').append("<p><a href='#'>" + this.code + "</a></p>")
.click(function(){
alert($(this));
});
});
$。每个(数据、函数(){
$(“#模块列表”)。追加(“”)
。单击(函数(){
警报($(本));
});
});
问题是,一旦我点击其中一个a元素(这些元素看起来都很好,并且有正确的文本),我会为每个元素弹出5次警报。从JSON中的0到5个对象进行迭代
有人知道为什么吗
谢谢 使用
appendTo
方法
$("<p><a href='#'>" + this.code + "</a></p>").appendTo('#modulesList')
.click(function(){
alert($(this));
})
希望你能看到它是如何工作的…也许你可以试试这个
$.each(data, function() {
$('#modulesList').append("<p><a href='#'>" + this.code + "</a></p>");
});
$('#modulesList p').click(function(){
alert($(this));
});
$。每个(数据、函数(){
$(“#modulesList”)。追加(“”);
});
$(“#模块列表p”)。单击(函数(){
警报($(本));
});
虽然这提供了所需的功能,@AndreasAL的解决方案更好,因为它不会让jQuery重新找到附加元素。感谢您的帮助AndreasAL,我今天早上找到了它出现5次的原因,但仍然不知道如何修复它,它现在工作得很好!
$.each(data, function() {
$('#modulesList').append("<p><a href='#'>" + this.code + "</a></p>");
});
$('#modulesList p').click(function(){
alert($(this));
});