Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery中的:nth()伪类选择器是什么?_Jquery_Jquery Selectors - Fatal编程技术网

jQuery中的:nth()伪类选择器是什么?

jQuery中的:nth()伪类选择器是什么?,jquery,jquery-selectors,Jquery,Jquery Selectors,:n伪类的定义是什么 我找不到任何jQuery或CSS文档,但它似乎存在: var $list = $('<ul><li>1</li><li>2</li><li>3</li></ul>'); $list.find('li:nth(2)').text(); 两者都返回“2” 这个伪类是什么?有人能给我指一些关于它的文档吗?什么是:nth()选择器? 与其他答案相反,:nth()不是CSS伪类选择器

:n
伪类的定义是什么

我找不到任何jQuery或CSS文档,但它似乎存在:

var $list = $('<ul><li>1</li><li>2</li><li>3</li></ul>');

$list.find('li:nth(2)').text();
两者都返回
“2”

这个伪类是什么?有人能给我指一些关于它的文档吗?

什么是:nth()选择器? 与其他答案相反,
:nth()
不是CSS伪类选择器

这是一个鲜为人知的位置选择器,用于:

:nth:
查找页面上的
nth
元素

你会发现上面的定义

为什么选择不同的元素:nth-child()/:nth-of-type()?
nth()
和其他选择器选择不同元素的原因是
nth()
是一个零基索引选择器,而CSS选择器是一基索引选择器

这是可以理解的,因为大多数人认为
nth()
会与类似命名的CSS伪类选择器保持某种一致性,例如
nth-child()
nth-of-type()
——但是,正如前面提到的,它们实际上并不相关

那么,:nth()的功能实际上更接近:eq()? 对。事实上,似乎:

(2007)暗示John Resig计划删除
:nth()
选择器,原因如下:

“我已经搜索了各个小组,但似乎找不到任何相关的谈话 如果有的话,使用
:eq(n)
:n(n)
?我想在开始标准化一个或多个 其他。谢谢。”-Matt Penner

“它们是一样的,所以你可以随意使用。从jquery.js:
nth:“m[3]-0==i”
eq:“m[3]-0==i”
-Karl Swedberg

“嗯……我可能应该用核弹
:nth()
-约翰·雷斯格

但是,正如您所注意到的,删除
:nth()
选择器从未实现(无论如何,从2013年开始)

用法示例: HTML:

<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
$('p:nth(2)').text(); // Returns 3 as zero-based index.
$('p:eq(2)').text(); // Returns 3 as zero-based index.
$('p:nth-child(2)').text(); // Returns 2 as one-based index.
$('p:nth-of-type(2)').text(); // Returns 2 as one-based index.

@Zenith,谢谢您的详细解释。我想这是某种非标准选择器。我就是找不到它的来源。@user2369736,请停止编辑这个问题。你建议的编辑正在改变我问题的背景。另外,
.text()
返回一个字符串,而不是一个数字,正如您在编辑时所暗示的那样。
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
$('p:nth(2)').text(); // Returns 3 as zero-based index.
$('p:eq(2)').text(); // Returns 3 as zero-based index.
$('p:nth-child(2)').text(); // Returns 2 as one-based index.
$('p:nth-of-type(2)').text(); // Returns 2 as one-based index.