jQuery冒号选择器

在jQuery中有一些冒号选择器

:上一篇:下一篇:最后一篇

我的问题是:

  1. 它们真的是jQuery的一部分,因为它们实际上是用在DOM元素上的吗?
  2. 我们似乎在jQuery prev()next()last()也有相同的方法。 有两种不同方式的目的是什么?

任何基本的例子都会非常棒。

jQuery没有:next:next选择器,我不知道你在哪里遇到它们。 但是有一个:last选择器,以及:first ,由jQuery使用的Sizzle选择器库提供。 它是一个非标准的选择器,不是CSS的一部分,因此用JavaScript实现。

:last .last()方法的:last选择器的一个目的是,你可以使用它来过滤选择器序列中间的元素,如下所示(注意:last:last-child不一样):

 $('.a > .b:last > .c') 

而不是必须编写这样的方法链:

 $('.a').children('.b').last().children('.c'); 

顺便说一下,你引用的“冒号选择器”被称为伪类(通俗地但错误地称为“伪选择器”)。

这是我用各种选择器和遍历对象制作滑块的方法。

 $('#next').click(function () { if (!$('*').is(':animated')) { if ($('div.display:visible').is(':nth-child(3)')) { $('div.display:visible').fadeOut(); $('div.display:first').fadeIn(function () { $(this).children().fadeIn(); }); } else { $('div.display:visible').fadeOut().next().fadeIn(function () { $(this).children().fadeIn(); }); } } }); $('#prev').click(function () { if (!$('*').is(':animated')) { if ($('div.display:visible').is(':nth-child(1)')) { $('div.display:visible').fadeOut(); $('div.display:last').fadeIn(function () { $(this).children().fadeIn(); }); } else { $('div.display:visible').fadeOut().prev().fadeIn(function () { $(this).children().fadeIn(); }); } } }); 
  1. 是的,他们在文档中
  2. 有时你不能总是在选择器中包含所有内容或者想要选择器的细分。

例如

 $(".mylist").each(function(){ $(this).css("color","red"); $(this).next().show(); }) 

冒号代表一个filter,就像在下拉列表中获取所选选项一样,我会使用$("select option:selected")或者获得一个选中的收音机盒,我会使用$("input[type=radio]:checked");

没有:prev和:nextfilter,但你可以在这里找到完整的filter列表http://api.jquery.com/category/selectors/