jQuery - 删除每个元素

时间:2014-03-26 21:33:48

标签: jquery

使用javascript,我需要使用单个事件删除所有匹配的元素。

这是我的代码

$(document).ready(function(){
      $("#target").blur(function(){
           name = $(this).val();

              for (i = 1; i < name; i++) {
                $("#myspan").clone()
                            .attr({"id":"cloned"})
                            .appendTo("#myspan")
               }
      });

      $("#target").click(function(){
          $("#cloned").remove();
      });
});

现在我必须多次单击目标框才能删除所有克隆。 我确定它很简单,只需添加一个,但我整天都在努力,似乎无法找到答案。

1 个答案:

答案 0 :(得分:1)

改为使用班级。 id在文档中必须是唯一的。类可以在任意数量的对象上。因此,如果您希望查询返回多个项目,则查询不能用于ID,因为它只会返回一个项目。这是一种使用类名的方法。

$(document).ready(function(){
      $("#target").blur(function(){
           name = $(this).val();

              for (i = 1; i < name; i++) {
                $("#myspan").clone()
                            .addClass("cloned")
                            .removeAttr("id")
                            .appendTo("#myspan")
               }
      });

      $("#target").click(function(){
          $(".cloned").remove();
      });
});

的变化:

  1. 致电.addClass("cloned")以添加所需的班级名称
  2. 添加.removeAttr("id")以在克隆后删除重复的ID
  3. 将删除查询更改为$(".cloned").remove();