jQuery селектор :nth-last-child

Определение и применение

jQuery селектор :nth-last-child позволяет выбрать каждый элемент, который является дочерним элементом своего родительского элемента считая от последнего дочернего элемента.

jQuery синтаксис:

JavaScript
$("selector:nth-last-child(номер | ключевое слово | формула)")

В качестве значения селектора :nth-last-child() может выступать не только порядковый номер дочерних элементов, которые необходимо стилизовать, но и ключевые слова, которые могут определять целую группу элементов. В качестве ключевого слова можно использовать два значения:

  • even (четные элементы считая от последнего дочернего элемента)
  • odd (нечетные элементы считая от последнего дочернего элемента)

Селектор :nth-last-child(), считая от последнего дочернего элемента позволяет выбрать не только чётные, нечетные, или дочерние элементы с определённым порядковым номером, но и дочерние элементы, заданные по элементарной математической формуле:

JavaScript
$("td:nth-last-child(4n+2)")

Этот селектор означает, что каждая четвёртая ячейка таблицы (<td>) внутри строки, считая от последнего дочернего элемента, начиная со второй ячейки таблицы с конца, будет выбрана:

  • 4n – каждый четвертый элемент (считая от последнего дочернего элемента).
  • 2 – с какого элемента начинать (считая от последнего дочернего элемента).

В формулах допускается использование значений со знаком вычитания, но в этом как правило нет необходимости:

JavaScript
$("td:nth-last-child(4n-1)")

Этот селектор означает, что каждая четвёртая ячейка таблицы (<td>) внутри строки, считая от последнего дочернего элемента, начиная с третьей ячейки таблицы с конца (порядкового номера -1 нет по объективным причинам, поэтому происходит сдвиг), будет выбрана:

  • 4n – каждый четвертый элемент (считая от последнего дочернего элемента).
  • -1 – с какого элемента начинать (считая от последнего дочернего элемента).

Добавлен в версии jQuery

1.9

Селектор в CSS

CSS псевдокласс :nth-last-child.

Пример использования

Пример использования jQuery селектора :nth-last-child()

Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 4.0.0.

index.html
HTML
<div class="control">
  <button>:nth-last-child(2)</button>
  <button>:nth-last-child(3)</button>
  <button>:nth-last-child(even)</button>
  <button>:nth-last-child(odd)</button>
  <button>:nth-last-child(3n)</button>
  <button>:nth-last-child(3n+1)</button>
  <button>:nth-last-child(3n+2)</button>
  <button>:nth-last-child(3n-1)</button>
  <button>:nth-last-child(3n-2)</button>
  <div class="info"></div>
</div>
<table>
  <tbody>
    <tr>
      <td>1</td>
      <td>1</td>
      <td>1</td>
    </tr>
    <tr>
      <td>2</td>
      <td>2</td>
      <td>2</td>
    </tr>
    <tr>
      <td>3</td>
      <td>3</td>
      <td>3</td>
    </tr>
    <tr>
      <td>4</td>
      <td>4</td>
      <td>4</td>
    </tr>
    <tr>
      <td>5</td>
      <td>5</td>
      <td>5</td>
    </tr>
    <tr>
      <td>6</td>
      <td>6</td>
      <td>6</td>
    </tr>
    <tr>
      <td>7</td>
      <td>7</td>
      <td>7</td>
    </tr>
    <tr>
      <td>8</td>
      <td>8</td>
      <td>8</td>
    </tr>
  </tbody>
</table>
main.js
JavaScript
$(document).ready(function () {
    $('button').click(function () {
        var str = $(this).text()
        $('tr').css('background', '#fff')
        $('tr' + str).css('background', 'orange')
        $('.info').text('$("tr' + str + '")')
    })
})
style.css
CSS
.control {
    width: 35%;
    float: left;
}
button {
    display: block;
}
.info {
    font-weight: bold;
    margin-top: 2em;
}
td {
    border: 1px solid green;
    width: 50px;
}

В этом интерактивном примере с использованием селектора :nth-last-child выбираем и стилизуем элементы <tr> (строка таблицы) в зависимости от их размещения (порядкового номера в документе). Для демонстрации работы необходимого селектора нажмите на кнопку (элемент <button>), текст, которой выступает в роли значения селектора:

Выбор строк таблицы по элементарной математической формуле:

Интерактивный пример использования jQuery селектора :nth-last-child.
Интерактивный пример использования jQuery селектора :nth-last-child