jQuery无法正常工作,或者我是以错误的方式使用它?

时间:2013-05-25 02:35:19

标签: javascript ajax jquery

我是Jquery的新手。我正在尝试在Jquery和AJAX中执行一些基本功能并动态生成HTML。但是对于“$(document).ready(function()”它不起作用。

$(function () 
{
 $.ajax({ 
  type: "POST",                                     
  url: 'api.php',                  //the script to call to get data          
  //data: { id:2 },                  //you can insert url argumnets here to pass to api.php
                                   //for example "id=5&parent=6"
  dataType: 'json',                //data format      
  success: function(data)          //on recieve of reply
  {
    $('#root').append('<div id="try"></div>');
    for(var i = 0; i < data.length; i++)
    {
      var cssId = 'writings'+ i;
      var id  = data[i][0];
      var name = data[i][1];
      //$('#root').append("id: "+id); //Set output element html
      $('#try').append('<div class="names" id="'+cssId+'">'+name);
      $('#'+cssId).append('<a href="#" class="edit" id="img1"><img src="img/edit.png"></a>');
      $('#'+cssId).append('<a href="#" class="delete" id="img2"><img src="img/delete.png"></a>');
      $('#try').append('</div>');
    }
  } 
 });
});

$(document).ready(function () {
$('#img1').on('click', function() {
$(this).remove();
});
});

对于第一个代码块,它生成一个像这样的[1] html:http://postimg.org/image/nphmjutlz/“screenshot”。但是当我点击编辑或删除按钮时,它不起作用。根据我的代码,它应该删除。

提前致谢。

1 个答案:

答案 0 :(得分:2)

使用它(在document.ready之外):

$(document).on('click','#img1', function(){
   $(this).remove();
});

当您创建元素时(无论是#img1),这无关紧要。

只有在$('#img1')之前存在#img1时,您的代码才有效。('click',.....