1

textarea在特定容器中映射所有内容。我需要检查每个 textarea 是 parent( $('.services')) 的第一个元素。如果没有,则为其添加一个类。

页面中有几个.services类,并在页面加载后添加。只需要为每个.services班级显示第一个 textarea 孩子。每个.services类都有许多文本区域。

$('textarea').map(function (i) {
      /* if not first textarea of parent element $('.services') */
      $(this).addClass('hide');
});

这个怎么做?

4

7 回答 7

3
$('.services > textarea').filter(function() {
    return $(this).index() !== 0;
}).addClass('hide');
于 2013-09-05T04:53:45.833 回答
2

试试.each()喜欢

$('.services textarea').each(function(){
    var indx = $(this).index(); 
    if(indx != 0) {
        $(this).addClass('hide');
    }
}); 

看到这个小提琴

于 2013-09-05T04:52:23.590 回答
0

尝试这个

$('.services').each(function(){
  if($(this).not(':first-child')){
    $(this).addClass('hide');
  }
}

或者:

$('.services textarea:not(:first-child)').addClass('hide');

或者:

$('.services').children().not(':first').addClass('hide');
于 2013-09-05T05:00:12.220 回答
0

应该这样做,

$('.services').each(function(){
   $(this).children('textarea').addClass('hide');
   $(this).children('textarea:first').removeClass('hide').show();
})
于 2013-09-05T04:52:59.523 回答
0

尝试这个:

$('.services textarea').each(function(){
    var textarea = $(this);
    if(!textarea.is(':first')) {
        $(this).addClass('hide');
    }
}); 
于 2013-09-05T05:02:11.700 回答
0
$(".services").find("textarea:eq(0)");

参考查找eq 选择器

于 2013-09-05T04:51:40.530 回答
0

为什么不隐藏所有.services然后只显示第一个孩子?

$('.services').hide();
$('.services:first-child').show();
于 2013-09-05T04:51:46.483 回答