1

誰かが私が間違っていることを知っていますか?

「minus.png」をクリックすると、DIV が削除されますが、div テキストをクリックすると、div が削除されます。

divをクリックして脈動で削除したくない、マイナスのpng画像をクリックして削除したい、何が間違っているのか知っていますか?

簡単な修正だと思いますが、ひどく悩まされています(笑)!

ありがとう!

<script>
  $(document).ready(function() {

      $(".pane").click(function () {
      $(this).effect("pulsate", { times:2 }, 0000).fadeOut('slow').parents(".pane");
});

  });
  </script>

  <div class="pane">
 <a href=""><img align="right" src="http://uploadir.com/u/6hmr4fr1" alt="delete" class="delete" /></a>  
  Simple jQuery script I'm learning to work with, you mad bro?
  </div>

  <div class="pane">
  <a href=""><img align="right" src="http://uploadir.com/u/6hmr4fr1" alt="delete" class="delete" /></a>  
  Simple jQuery script I'm learning to work with, you mad bro?
  </div>

  <div class="pane">
  <a href=""><img align="right" src="http://uploadir.com/u/6hmr4fr1" alt="delete" class="delete" /></a>  
 Simple jQuery script I'm learning to work with, you mad bro?
  </div>

  <div class="pane">
  <a href=""><img align="right" src="http://uploadir.com/u/6hmr4fr1" alt="delete" class="delete" /></a>  
  Simple jQuery script I'm learning to work with, you mad bro?
  </div>

完全なコードは次のとおりです。

http://jsfiddle.net/CgPJv/

4

5 に答える 5

4

コード例

$('.pane a').click(function () {
    $(this).closest('.pane').effect('pulsate', { times:2 }, 0000).fadeOut('slow');
    return false;
});

aタグの値も指定する必要がありhrefます。空のままにしておくことは基準に反します。使用できますhref="#"

于 2012-11-10T00:48:07.237 に答える
3

img次のように、クリック イベントを要素にアタッチしてから、closest()バブルアップで見つけて.paneフェードアウトする必要があります。

$(document).ready(function() {
      $(".pane img").click(function (e) {
         e.preventDefault();
         $(this).closest('.pane').effect("pulsate", { times:2 }, 0000).fadeOut('slow');
      });
});

実際のデモを見る

于 2012-11-10T00:47:02.833 に答える
3

クリックイベントを実際の画像に添付することができます。

$(".pane > a > img").on('click... 

altまたは、画像要素の属性に直接行くこともできます-

$(".pane img[alt='delete']").on('click...

可読性が向上し、デバッグがはるかに迅速になるため、セレクターをできるだけ詳細にすることを常に好みます。

どちらの場合も、実際にフェードアウトさせたい要素を取得するには、closest()関数を使用します。

$(".pane img[alt='delete']").on('click',function () {
  var paneElement = $(this).closest('.pane');
  paneElement.effect("pulsate", { times:2 }, 0000).fadeOut('slow');
  return false;
});

最後に、あなたが何をしようとしていたのかよくわかりません.parents(".pane")。コマンドの最後にあり、実際にはまったく効果がありませんでした。あなたはそれを残すことができます。

于 2012-11-10T00:47:54.590 に答える
2

多分$(".pane")- >$(".pane > a")

http://jsfiddle.net/CgPJv/6/

div全体でクリックをバインドしていますが、代わりに、あなたが言ったようにa要素にバインドします

$(".pane > a").click(function (event) {
    event.preventDefault();
    $(this).parent().effect("pulsate", { times:2 }).fadeOut('slow');
});
于 2012-11-10T00:47:20.417 に答える
1

DEMO — スタイルに合わせて、きちんとした小さなslideUp()アニメーションはいかがですか?

于 2012-11-10T00:52:00.970 に答える