Javascript 使用Jquery动态选择给定的ID不会';行不通

Javascript 使用Jquery动态选择给定的ID不会';行不通,javascript,jquery,css,eventhandler,Javascript,Jquery,Css,Eventhandler,我必须为大学做一个网站,在这个网站上我从一个表中的数据库加载数据。 我的桌子看起来像这样: 首先,我从数据库加载内容并创建一个表 ... $.each(data, function (index, item) { var counter = index; counter++; ... table += '<td><a href="#" ' + 'id=edit' + counter + '><img src="img/edit-icon.png"' + '</

我必须为大学做一个网站,在这个网站上我从一个表中的数据库加载数据。 我的桌子看起来像这样:

首先,我从数据库加载内容并创建一个表

...
$.each(data, function (index, item) {
var counter = index;
counter++;
...
table += '<td><a href="#" ' + 'id=edit' + counter + '><img src="img/edit-icon.png"' + '</a> </td>';
table += '<td><a href="#" ' + 'id=delete' + counter + '><img src="img/delete-icon.png"' + ' ></a> </td>';
...
。。。
$。每个(数据、功能(索引、项目){
var计数器=指数;
计数器++;
...
表+='';
...
我给右边的按钮唯一的ID,这是有效的

我的意图是,如果按下“edit1”,我可以抓取“name1”来处理它,并在数据库中找到它

我尝试了这个例子,它只在控制台上给我一个空字符串

...
for (var x = 1; x <= 2; x++) {
    $('body').on('click', '#edit' + x, function () {
        console.log($('#name' + x).text());
    });
...
...
for (var x = 1; x <= 2; x++) {
    $('body').on('click', '#edit' + x, function () {
        console.log($('#name1').text());
    });
...
。。。
对于(var x=1;x你应该学习

您可以使用自定义数据-*属性设置值。然后使用获取值

示例代码

table+='';
$(文档).on('click',.edit',函数(事件){
event.preventDefault();
var id=$(this.data('id');
var text=$('#name'+id).text()
console.log(文本);
});
您应该使用最接近的静态容器来代替
文档

委派事件的优点是,它们可以处理来自后代元素的事件,这些元素将在以后添加到文档中。通过选择一个保证在委派事件处理程序附加时存在的元素,我们可以使用委派事件将单击事件绑定到动态创建的元素,以及避免频繁附加和删除事件处理程序

@user3292412,这是一个示例,希望它能给你更好的想法
table += '<td><a href="#" class="edit" data-id="' + counter + '"><img src="img/edit-icon.png"' + '</a> </td>';
table += '<td><a href="#" class="delete" data-id="' + counter + '"><img src="img/delete-icon.png"' + ' ></a> </td>';

$(document).on('click', ".edit", function(event){
    event.preventDefault();
    var id = $(this).data('id');
    var text = $('#name' + id).text()
    console.log(text);
});