0

jquery on click を使用して生成されている多くの 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

要素が動的に生成されるため、これは機能しません...試してください...

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

クラス名を追加して、クローンを区別できます。

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

そして、委任を使用し.cloneます。

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

こちらをご覧ください。

于 2013-01-05T16:01:34.590 に答える
0

コードが機能していない理由は、タイミングの問題である可能性があります。your が your の前に実行された場合、動的$(document).ready(...)に生成されたすべての が検出されるわけではありません。<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 に答える