1

最後の子が特定のクラスを持っている場合、要素のグループの最後の子のcssを変更しようとしています。

例えば

<div class="box">
<div class="entry"></div>
<div class="entry"></div>
<div class="divider"></div>
<div class="entry"></div>
<div class="entry"></div>
</div>

<div class="box">
<div class="entry"></div>
<div class="entry"></div>
<div class="entry"></div>
<div class="entry"></div>
<div class="divider"></div>
</div>

<div class="box">
<div class="entry"></div>
<div class="entry"></div>
<div class="divider"></div>
<div class="entry"></div>
<div class="entry"></div>
</div>

"divider"最後の子であるため、エントリの2番目のブロックのクラスのcssのみを変更したいと思います。これは私がこれまでに得たものです。これはうまくいくようですが、残念ながらそうではありません。

$(".entry").each(function() {
  if($(this).is('last-child')) {
    if($(this).hasClass("divider")) {
          $(this).css("border-top-color", "green");
    }
  }
});
4

3 に答える 3

3

これが必要なようです:

$('.divider:last-child').css(...);

.dividerつまりlast-child、その親のすべてのCSSを変更します。

関数は一致する各要素を暗黙的に操作する.eachため、aは必要ありません。.css

于 2013-03-13T22:28:38.883 に答える
2

:last-childセレクターを使用するだけです。

$('.divider:last-child').css('border-top-color','green')
于 2013-03-13T22:28:38.587 に答える
1

最後の子セレクターにコロンがないので、に変更してみてください:last-child

于 2013-03-13T22:29:33.953 に答える