Jquery 如何选择ajax加载的元素

Jquery 如何选择ajax加载的元素,jquery,ajax,Jquery,Ajax,若用户单击id=show的元素,我将通过ajax方法检索数据。然后我把我的身份证放进去。我的问题是,在通过ajax加载之后,如果有人单击每个项目,我想将其删除 <script> $('#show').on('click',function(){ $.ajax({ url:"index.php", method :"post", success: function(da

若用户单击id=show的元素,我将通过ajax方法检索数据。然后我把我的身份证放进去。我的问题是,在通过ajax加载之后,如果有人单击每个项目,我想将其删除

<script>
   $('#show').on('click',function(){
        $.ajax({
                url:"index.php",
                method :"post",
                success: function(data){
                             for( var j in results){
                               var data = results[j];
                               $('tbody').append('<tr><td>'+data['name']+'</td><td>'+data['goods']+'</td><td>'+data['price']+'</td><td>'+data['date']+'</td><td><i id="'+data['id']+'" class="fa fa-times" aria-hidden="true"></i></td></tr>'); 
                                 }
                            } 
                });
   });

</script>
<script>
  $('i').on('click', function(){
     var id = $(this).attr('id');
     $.ajax({
          data:id,
           url: "delete.php"
      });
  });
</script>
但不幸的是,我无法通过选择删除。

试试这个

 $(document).on('click', 'i', function(){
     var id = $(this).attr('id');
     $.ajax({
          data:id,
           url: "delete.php"
      });
  });

您需要更新AJAX。您需要在{}中传递数据。检查以下内容:

$('i').on('click', function() {
  var id = $(this).attr('id');
  $.ajax({
    async: false,
    url: 'delete.php',
    data: {
      id: id
    },
    type: "POST",
    dataType: "json",
    success: function(data) {
      // code here...
    }
  });
});

你们能详细解释一下你们所说的不能通过选择删除是什么意思吗?当用户首先点击我得到的id,然后将它发送到服务器并从数据库中删除它。。。好的,它不是从数据库中删除吗?还是它没有得到正确的id?@Milancheda,正如我告诉你的,id是未定义的。未将任何值设置为id,因此null将被发送到服务器,并且不会被删除。id未定义。将在用户单击“id=Showed”后创建。在这种情况下,你和我写道,在“点击”功能上。。。不起作用id=显示的td在哪里?即使我是后来创建的,上面的代码也会起作用。你试过了吗?你有什么错误吗?