: ostatnie dziecko nie działa zgodnie z oczekiwaniami?

Problem leży w tym CSS i HTML. Tutaj jestlink do jsFiddle z kodem przykładowym.

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;
}

Czy żadna z tych linii CSS nie powinna być ukierunkowana naostatni element li z klasą „kompletny”?

Ta kwerenda w jQuery nie jest skierowana do:

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

Ale to robi:

$("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>

questionAnswers(3)

yourAnswerToTheQuestion