“:first-of-type”有效,“:last-of-type”没有

时间:2011-12-23 19:52:00

标签: jquery html css pseudo-class

以下“:first-of-type”适用于我,但“:last-of-type”不适用。

<div class="wrapper">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="shadow"></div>
</div>

.wrapper .item:first-of-type {
    background-color: blue;
}
.wrapper .item:last-of-type {
    background-color: red;
}

即使通过jQuery计算元素数量,我也会收到以下结果:

$('.wrapper .item').size(); // equals 3
$('.wrapper .item:first-of-type').size(); // equals 1
$('.wrapper .item:last-of-type').size(); // equals 0

提前谢谢。

3 个答案:

答案 0 :(得分:2)

它们对我来说都很好,但你应该知道 jQuery不支持first-of-typelast-of-type

它们只能工作,因为querySelectorAll支持它们。因此,不支持qSA的浏览器会中断。


顺便说一下,0结果来自first/last-of-type考虑元素类型的事实,即使您只指定了类。我的测试有点不同。

答案 1 :(得分:1)

jQuery不支持:last-of-type - http://selectivizr.com/ - 查看库比较表。您可能希望查看此插件以帮助您 - https://github.com/keithclark/JQuery-Extended-Selectors

答案 2 :(得分:1)

为什么不使用first()last()?前者选择匹配集中的第一个元素,后者选择最后一个元素。

Here是与:first:last-of-type相关的错误报告。