1

すべての X、Y、Z 要素にクラスを追加したいと考えています。

  $('.interactive-banner-faces>:nth-child(1)').addClass('rightTxt');
  $('.interactive-banner-faces>:nth-child(2)').addClass('rightTxt');
  $('.interactive-banner-faces>:nth-child(3)').addClass('rightTxt');
  $('.interactive-banner-faces>:nth-child(13)').addClass('rightTxt');
  $('.interactive-banner-faces>:nth-child(14)').addClass('rightTxt');
  $('.interactive-banner-faces>:nth-child(15)').addClass('rightTxt');
  $('.interactive-banner-faces>:nth-child(25)').addClass('rightTxt');
  $('.interactive-banner-faces>:nth-child(26)').addClass('rightTxt');
  $('.interactive-banner-faces>:nth-child(27)').addClass('rightTxt');       

ご覧のとおり、私の n 番目の子セレクターは 1,2,3 の 13,14,15 などの要素をターゲットにしていますが、これにはパターンはありません。上記は私にとってはうまくいきます。 ?

どんな助けでも大歓迎です

4

3 に答える 3

2
var pos = [ 1, 2, 3, 13, 14, 15, 25, 26, 27 ];
for(i = 0; i < pos.length; i++) {
    $('.interactive-banner-faces:nth-child(' + pos[i] + ')').addClass('rightTxt');
}

これを行う別の方法は、最初にすべての要素を取得してから、それぞれの位置から取得することです。

var pos = [ 1, 2, 3, 13, 14, 15, 25, 26, 27 ],
    $divs = $('.interactive-banner-faces');
for(i = 0; i < pos.length; i++) {
    var $div = $($divs.get(pos[i] - 1));
    $div.addClass('rightTxt');
}

はゼロベースpos[i] - 1であるため、 に注意してください。.get()

デモ

于 2013-08-12T09:12:59.593 に答える