jQuery冒号选择器
在jQuery中有一些冒号选择器
:上一篇:下一篇:最后一篇
我的问题是:
- 它们真的是jQuery的一部分,因为它们实际上是用在DOM元素上的吗?
- 我们似乎在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(); }); } } });
- 是的,他们在文档中
- 有时你不能总是在选择器中包含所有内容或者想要选择器的细分。
例如
$(".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/