1

jQueryafter()を使用して、特定の属性を持つ div の後にデータを挿入するにはどうすればよいですか?

<div>のはこのように行きます

<div id="mod" mod-id="1" mod-user="user1">
Content 1
</div>

<div id="mod" mod-id="2" mod-user="user2">
Content 2
</div>

<div id="mod" mod-id="3" mod-user="user3">
Content 3
</div>

after()ここで、jQuery に の後にデータを挿入するように指示するにはどうすればよいid="mod" and mod-id="2"ですか?

after()の後に挿入するように指示できますが、のデータ属性id="mod"に基づいてそれを行うように指示する方法がわかりません。div

4

4 に答える 4

4

ID は一意である必要があります。代わりにクラスを使用できます。カスタム属性を使用する代わりに、HTML5data-*属性を使用できます。

<div class="mod" data-mod-id="1" data-mod-user="user1">
  Content 1
</div>

<div class="mod" data-mod-id="2" data-mod-user="user2">
  Content 2
</div>

<div class="mod" data-mod-id="3" data-mod-user="user3">
  Content 3
</div>

これで、クラス セレクターと属性セレクターを使用して要素を選択できるようになりました。

$('div.mod[data-mod-id="2"]').after('data');
于 2012-12-30T13:22:21.963 に答える
1

まず、同じ ID を複数持つことはできません。それらをクラスに変更します。クラスになった今、

var field = $('.mod');

field.each(function(){
     if($(this).attr('mod-id')==2){
           $(this).after();
     }
});

または

$('.mod[mod-id=2]').after();
于 2012-12-30T13:16:38.750 に答える
0
$("div[id=mod]").each(function() {
   if ($(this).attr("mod-id") == 2) {
      $(this).after("CVVVVVVVVVV");
   }
});
于 2012-12-30T13:15:39.273 に答える
0

このようにできます

$( '[id=mod][mod-id=2]' ).after( 'xy' );​

しかし、ID を複数回使用するべきではありません。のようなカスタム属性を使用することも一般的ではありませんmod-id。たとえば、html 5 以降のデータ属性を使用することをお勧めします。data-mod-id

于 2012-12-30T13:21:43.507 に答える