我期待着一连串的选票,但是,我想知道你们的想法。
如果有,
<div>
<p>Paragraph1</p>
<p>Paragraph2</p>
</div>
<div>
</div>
从字面上看,我希望div:first-child
选择<p>Paragraph1</p>
,因为<p>Paragraph1</p>
是div
的第一个子节点
但是,正如我们所知,它会选择html中的第一个div
,简单地称之为:first
或:first-sibling
是不是更有意义?
答案 0 :(得分:3)
jQuery有一个扩展的选择器::first
,请注意:first
的问题是它在第一次匹配后停止查找元素,与:first-child
不同,所以这里的示例为{{1}不是一个好名字。
答案 1 :(得分:2)
根据Mozilla's reference documentation(强调我的):
CSS伪类是添加到指定a的选择器的关键字 要选择的元素的特殊状态。
伪类是现有选择器的修饰符。因此,结果必须是现有选择器匹配的子集。因此,div:first-child
无法返回div
以外的任何内容。
答案 2 :(得分:0)
:first-child表示它是其父级的第一个子级。我认为:首先是不够具体而且:第一兄弟......看起来与第一个孩子相当,因为两者都很模糊。
答案 3 :(得分:0)
至于为什么不:first
,因为首先与什么相关?整个页面上的第一个div?就在这一节? :first-child
给出了背景,无论是docuemnt,div还是ul。随你。
你所谓的'字面意思'实际上似乎是div > :first-child
,因为你想在div中选择一个元素。
div:first
的意思是,如果从字面上看,你遇到的第一个div。所以它永远是页面上的第一个div。
div:first-child
字面意思是“它是父母的第一个孩子的div”你需要记住psuedo类描述了它们应用的元素。