: последний ребенок не работает, как ожидалось?

Проблема заключается в этом CSS и HTML. Вотссылка на jsFiddle с примером кода.

HTML

<ul>
    <li class"complete">1</li>
    <li class"complete">2</li>
    <li>3</li>
    <li>4</li>
</ul>

CSS

li.complete:last-child {
    background-color:yellow;
}

li.complete:last-of-type {
    background-color:yellow;
}

Не следует использовать одну из этих строк CSS дляпоследний элемент li с классом «complete»?

Этот запрос в jQuery также не нацелен на него:

$("li.complete:last-child");

Но этот делает:

$("li.complete").last();

li {
  background-color: green;
}
li.complete:first-child {
  background-color: white;
}
li.complete:first-of-type {
  background-color: red;
}
li.complete:last-of-type {
  background-color: blue;
}
li.complete:last-child {
  background-color: yellow;
}
<ul>
  <li class="complete">1</li>
  <li class="complete">2</li>
  <li>3</li>
  <li>4</li>
</ul>

Ответы на вопрос(3)

Ваш ответ на вопрос