Ich habe mit dem abgekürzten HTML-Inhalt ein HTML-Dokument funktioniert:
<div class="list">
<form name="signupForm">
<label class="item item-input">
<input>
</label>
<label class="item item-input">
<input>
</label>
<label class="item item-input">
<input>
</label>
<label class="item item-input">
<input>
</label>
<label class="item item-button">
<input class="button button-block button-positive">
</label>
<label class="item item-button">
<input class="button button-block button-signup">
</label>
</form>
</div>
Mein erwartetes Verhalten ist, dass der CSS-Selektor .item.item-input:last-of-type
die 4.en label
greifen Element und das letzte .item.item-input
Element der form
Eltern.
Was mache ich falsch?
Was Sie falsch machen, ist Missverständnis 'last-of-type'. Suche härter nach Antworten hier auf SO, es gibt mehrere.'last-of-type' bezieht sich auf ** das letzte Element seines Typs (Tags) innerhalb dieses Elternteils **. Es weiß nicht, welche anderen Selektoren Sie kombiniert haben könnten, z. B. ".item-input". Siehe http://stackoverflow.com/questions/25924535/last-child-pseudo-class-mixed-with-attribute-selector-not-working. –