+ -
当前位置:首页 → 问答吧 → 求助添加删除节点问题

求助添加删除节点问题

时间:2009-05-25

来源:互联网

要做一个多上传文件功能,点击添加按钮后多出一行上传按钮,点击删除按钮后删除该行的上传按钮
我用JQ添加节点成功了,可是点击删除按钮后没反应,后来我在按钮里绑定了onclick 事件才能删除。
我想可能是DOM加载的问题,请问谁知道怎么用JQ删除节点吗?
以下是我的代码
复制代码
  1. <script>
  2.             $().ready(function(){
  3.                  $('#add').click(function(){
  4.                     $('#add').parent().after('<div><a href="javascript:return false" class="del" ">[-]</a><input type="file"  name="file[]"></div>');
  5.                     return false;
  6.                 });
  7.                 $('.del').click(function(){
  8.                      $(this).parent().remove()
  9.                     return false;
  10.                 });
  11.             });
  12.         </script>
  13. <div><a href="" id="add">[+]</a><input type="file"  name="file[]"></div>

这个是解决了添加绑定事件的代码
复制代码
  1. <script>
  2.             $().ready(function(){
  3.                  $('#add').click(function(){
  4.                     $('#add').parent().after('<div><a href="javascript:return false" class="del" onclick="al(this)">[-]</a><input type="file"  name="file[]"></div>');
  5.                     return false;
  6.                 });
  7.                 $('.del').click(function(){
  8.                     
  9.                     return false;
  10.                 });
  11.             });
  12.             function al(obj){
  13.                 $(obj).parent().remove();
  14.                 return false;
  15.             }
  16.         </script>
  17. <div><a href="" id="add">[+]</a><input type="file"  name="file[]"></div>

作者: wolf   发布时间: 2009-05-25

第2段我就不看了,告诉你第一段的错误

首先是href里不能写javascript:return false,要写成javascript:void(0);

然后是class="del" ",多了个引号

最后是绑定事件时,add创建出来的对象还没出生,当然不会绑定上…
可以在创建时绑定,也可以用live函数代替:
复制代码
  1.                 $('.del').live('click', (function(){
  2.                      $(this).parent().remove();
  3.                     return false;
  4.                 }));
另外提醒你注意下别丢失分号

作者: keakon   发布时间: 2009-05-26

相关阅读 更多