我试图找出在 jquery 中执行此操作的最佳方法。我正在通过 ajax 调用获取一些数据,并将其填充到页面中。我们正在处理一个简单的笔记应用程序。每个笔记都有自己的一组数据。我已经包含了我目前正在使用的代码。填充到 DOM 中的注释有多种方法(如链接),它们可以做不同的事情,例如保存、删除、恢复。当这些被点击时,我想进行另一个 ajax 调用并进行 POST。但是,我如何确定保存或删除来自哪个便笺?
我应该如何处理点击事件?我应该为每个动态元素的 id 创建一个选择器吗?这听起来不太理想,我也不知道该怎么做。我可以有一个事件处理程序来创建一个匿名函数并解析 id,其中 id 包含一个唯一标识符和一个指令,例如保存、删除等。这两个似乎都不是最好的选择。stackoverflow 有什么推荐的?
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<link rel="stylesheet" type="text/css" href="layout.css" />
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$.ajax({
url: 'noteGet.php',
data: "",
dataType: 'json',
success: function(rows)
{
for (var i in rows) {
var noteId = rows[i][0];
var noteContent = rows[i][2];
$('#allNotes')
.append('<span id="stickyNote'+noteId+'" class="stickyNote"><textarea id="stickyNoteTextArea'+noteId+'" class="stickyNoteTextArea">'+noteContent+'</textarea><a href="#" id="stickyNoteSave'+noteId+'">save</a> <a href="#" id="stickyNoteDelete'+noteId+'">delete</a></span>')
}
}
});
$('#allNotes').on('click', 'a', function() {
//what to do
});
});
</script>
</head>
<body>
<span id="links"></span>
</body>
</html>