2

我发现 jQuery :odd 选择器和 CSS3 nth-child(odd) 的工作方式不同。 http://jsfiddle.net/TMDwT/5/

黄色是 CSS nth-child(odd) 如果你取消注释 JS 和注释 background: yellow in CSS 你会发现它以另一种方式找到。

谁能说我如何在 jQuery 中实现与 CSS3 相同的结果?

谢谢!

4

1 回答 1

6

是的,:odd:nth-child(odd)不是一回事:

  • :odd匹配匹配元素中的奇数项,即您应用选择器的 jQuery 对象的内容,

  • :nth-child(odd)匹配各自父母中的奇数项。

:first这与and :first-child、 or:last和之间的区别相同:last-child

更新:正如 zzzzBov 和 BoltClock 正确指出的那样,:odd选择器是从零开始的,但:nth-child()选择器是从一开始的。这意味着即使您将两个选择器应用于元素的完整子列表(从而消除 和 之间的差异:odd:nth-child(odd),它们仍然不会匹配相同的元素。

于 2012-04-06T14:35:20.027 回答