0

如何在点击时使用 jquery 从许多 div 中隐藏/删除一个 div?下面的代码重复装箱:

var el = $("div");
  var bottom = $(window).height();
  while (el.offset().top + el.height() < bottom) {
    el = el.clone().insertAfter(el);

我正在尝试使用下面隐藏/删除 div 元素但它不起作用?

$(document).ready(function(){
  $("div").click(function(){
    $(this).hide();
  });
});
4

3 回答 3

1

您可以添加一个类名来区分克隆。

el = el.clone().addClass("clone").insertAfter(el);

并使用委托结束.clone

$(function(){
  $(document).on("click", ".clone", function(){
    $(this).hide();
  });
});

看这里。

于 2013-01-05T16:01:34.590 回答
1

这不起作用,因为元素是动态生成的......尝试......

$(document).ready(function(){
  $(document).on('click', 'div', function() {
    $(this).remove();
  });
});
于 2013-01-05T16:02:11.033 回答
0

原因是您的代码不起作用,可能是时间问题。如果 your在your之前$(document).ready(...)执行,它不会找到所有动态生成的 s。<script>...</script>div

如果你真的想删除 div,点击

HTML:

<div>Sample</div>

JS:

$('document').ready(function() {
  var el = $("div");
  var bottom = $(window).height();
  while (el.offset().top + el.height() < bottom) {
    el = el.clone().insertAfter(el);
  }

  el.remove();

  $('div').click(function() {
    $(this).remove();
  });
});

JSFiddle用于测试。

于 2013-01-05T16:04:38.853 回答