【发布时间】:2014-01-04 16:58:23
【问题描述】:
我有一个这样的 dom 结构:
<div id="main">
<div class="clear"></div>
<div class="search"></div>
<div class="scan"></div>
<div class="topbook"></div> <!--select this one-->
<div class="topbook"></div>
<div class="topbook"></div>
<div class="topbook"></div>
</div>
我想用css伪选择器选择第一个.topbook元素:
$("body .topbook:nth-of-type(1)").length // 0
但选择 dom 长度为零:http://jsfiddle.net/HGym3/
但是,如果我将三个 head 元素的标签更改为 p:
<div id="main">
<p class="clear"></p>
<p class="search"></p>
<p class="scan"></p>
<div class="topbook"></div> <!--select this one-->
<div class="topbook"></div>
<div class="topbook"></div>
<div class="topbook"></div>
</div>
选择器可以工作:http://jsfiddle.net/HGym3/1/
有什么区别? nth-of-type 选择器是否与标签类型相关?
【问题讨论】:
-
我知道这不是您想要做的,但它确实有效:只需执行
$('body .topbook')[index]
标签: jquery jquery-selectors css-selectors