0

これは私のコードです

<a href="#" id="ref" data-post="5">Test<i class="icon-remove"></i></a>
<a href="#" id="ref" data-post="1">Test1<i class="icon-remove"></i></a>

jQuery:

$(document).ready(function() {

    $('#ref').on('click', function(e) {
       var post_id = $(this).data('post');
       e.preventDefault();
       alert(post_id);
    });

});

JsFiddle の私のコード

Test をクリックすると動作するのに、Test1 をクリックしても動作しないのはなぜですか?

ありがとうございます。イーシス。

4

3 に答える 3

4

ID は、DOM 要素ごとに一意である必要があります。

classしたがって、機能する要素を追加してみてください。

HTML

<a href="#" class="ref" data-post="5">Test<i class="icon-remove"></i></a>
<a href="#" class="ref" data-post="1">Test1<i class="icon-remove"></i></a>

jQuery

$('.ref').on('click', function(e)
{
    var post_id = $(this).data('post');
    e.preventDefault();
    alert(post_id);
});
于 2013-03-19T08:08:53.427 に答える
1

ID は一意であることを意図しています。同じ識別子を使用する場合は、クラスに変更してください。

を に変更するid="ref"class="ref"、それが機能することを選択$('.ref')します

于 2013-03-19T08:08:50.210 に答える
1

無効な同じ複数の ID を作成する代わりに、id プロパティをクラスに変更してみてください。

 <a href="#" class="ref" data-post="5">Test<i class="icon-remove"></i></a>
 <a href="#" class="ref" data-post="1">Test1<i class="icon-remove"></i></a>

このjQueryで:

$('.ref').on('click', function(e) {
   var post_id = $(this).data('post');
   e.preventDefault();
   alert(post_id);
});

実際のデモを見る

ノート:

同じページの複数の要素に同じ id を使用すると、最初にそれらの要素を取得すると機能し、他の要素は無視されます。そこが失敗です。

于 2013-03-19T08:14:50.573 に答える