区别:nth-​​child(偶数)和:甚至在jquery中

时间:2011-08-03 13:53:35

标签: jquery

jquery中的

:nth-child(even):even看起来很相似,但选择了不同的元素。请让我知道不同之处。

快乐编码......

2 个答案:

答案 0 :(得分:4)

这是一个说明差异的例子:

http://jsfiddle.net/bEfT6/

:even匹配您选择的元素集中的每个第2个元素。 :nth-child(even)匹配其各自父母的偶数子元素的任何元素。

因此,在示例中,您会看到两个选择器影响不同的元素。带有红色文本的元素与所选类匹配,甚至是父div的子编号。具有蓝色背景的那些匹配所选择的类,甚至在该选择范围内。

所以:

.something:nth-child(odd)

将每个元素与类something匹配,该类是其父项的偶数子项。

.something:even

将所有其他元素与类something匹配。 (无论与兄弟姐妹有什么关系)

答案 1 :(得分:3)

:even从0开始,而:nth-child从1开始。这来自:even

的文档
  

特别要注意,基于0的索引意味着,直观地说:甚至选择匹配集合中的第一个元素,第三个元素等。

这适用于:nth-child

  

因为jQuery的实现:nth-​​child(n)严格来自CSS规范,n的值是“1-indexed”,这意味着计数从1开始。然而,对于所有其他选择器表达式,jQuery遵循JavaScript的“0索引”计数。