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>

在这里,我如何告诉 jQueryafter()在之后插入数据id="mod" and mod-id="2"

我可以告诉after()insert after id="mod",但不知道如何根据 adiv的 data 属性告诉它。

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' );​

但你真的不应该多次使用 ids!它也很少使用自定义属性,例如mod-id,更好地使用自 html 5 以来的数据属性data-mod-id

于 2012-12-30T13:21:43.507 回答