:第一个孩子没有返回任何元素

时间:2017-06-08 14:52:51

标签: jquery jquery-selectors

我必须在: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

1 个答案:

答案 0 :(得分:0)

  

如果发现了某些元素,我不应该期望:first-child伪选择器返回第一个元素吗?

你为什么这样?如果您有一组可能与父项相关或不相关的元素,那么这些元素中的:first-child将如何有意义?即使它们都具有相同的父级,:first-child仍然只匹配一个元素,如果它确实是其父级的第一个子元素,顾名思义。如果所有元素中的元素都是其各自父母的第一个孩子,那么:first-child将匹配所有

一组匹配中的第一个元素由:first表示,而不是:first-child