我必须在:first-child
伪选择器上遗漏一些细微差别。我的代码中有以下内容(其中je
是与DOM中的节点对应的jQuery对象):
const errors = je.find('div.error');
console.log(errors.length + ' errors found');
const firstError = je.find('div.error:first-child');
console.log(firstError.length + ' first errors found ');
上述日志:
1 errors found
0 first errors found
如果找到的某些元素,我不应该期望:first-child
伪选择器返回第一个
jFiddle SSCCE here
答案 0 :(得分:0)
如果发现了某些元素,我不应该期望
:first-child
伪选择器返回第一个元素吗?
你为什么这样?如果您有一组可能与父项相关或不相关的元素,那么这些元素中的:first-child
将如何有意义?即使它们都具有相同的父级,:first-child
仍然只匹配一个元素,如果它确实是其父级的第一个子元素,顾名思义。如果所有元素中的元素都是其各自父母的第一个孩子,那么:first-child
将匹配所有。
一组匹配中的第一个元素由:first
表示,而不是:first-child
。