-1

これが基本的なシナリオです。リスト要素のセットがあります。

<ul>
  <li>
    <span class="c-id" style="display: none;">1</span>
    <a class="remove_comment">Remove</a>
  </li>
  <li>
    <span class="c-id" style="display: none;">2</span>
    <a class="remove_comment">Remove</a>
  </li>
  <li>
    <span class="c-id" style="display: none;">3</span>
    <a class="remove_comment">Remove</a>
  </li>
</ul>

c-id は commentID の略で、それぞれに固有の識別子があります。次のようにクリックイベントを作成しました。

$('.remove_comment').on('click', function() {
    var commentBlock = $(this).parent('li');
    var commentID = parseInt(commentBlock.find('.c-id').text());
    console.log(commentID);
});

ご覧のとおり、コンソールを使用して適切な ID を取得していることを確認しています。ただし、コンソール ログは 3 回実行されます。したがって、この例では、3 番目の削除リンクをクリックすると、コンソールに #3、3 回ログインします。10 個のリスト要素があり、3 番目の要素で [削除] をクリックすると、3 回、10 回ログに記録されます。そのため、ページ上にある li 要素の数に直接関係しています。

なぜこれを行うのですか?基本的に、単一の時間と単一の値をログに記録することを期待していました。

手伝ってくれてどうもありがとう。

4

1 に答える 1

0

ページ上のすべてのアイテムにイベントを追加している可能性があります。ただし、記述したイベント コードはすべてのアイテムに適用されます。つまり、各アイテムは同じイベントを N 回取得します。ここで、N は追加したアイテムの数です。

于 2013-07-14T22:36:14.097 に答える