在jQuery中有一些冒号选择器,如
:prev,:next,:last
我的问题是:
prev()
,next()
,last()
中也有相同的方法。有两种不同的方式是什么目的?任何基本的例子都会非常棒。
答案 0 :(得分:10)
jQuery没有:prev
或:next
选择器,我不知道你在哪里遇到它们。但是,:last
选择器以及Sizzle选择器库提供的:first
选择器由jQuery使用。它是一个非标准的选择器,不是CSS的一部分,因此用JavaScript实现。
:last
选择器相对于.last()
方法的一个目的是,您可以使用它来过滤选择器序列中间的元素,如下所示(请注意:last
和{ {1}}不一样):
:last-child
而不是必须编写这样的方法链:
$('.a > .b:last > .c')
顺便说一句,你所引用的“冒号选择器”被称为伪类(通俗地但错误地称为“伪选择器”)。
答案 1 :(得分:2)
以下是我使用各种选择器和遍历对象制作滑块的方法。
$('#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();
});
}
}
});
答案 2 :(得分:1)
e.g。
$(".mylist").each(function(){
$(this).css("color","red");
$(this).next().show();
})
答案 3 :(得分:1)
冒号表示一个过滤器,用于在下拉列表中获取所选选项,我将使用$("select option:selected")
或获取一个选中的单选框,我会使用$("input[type=radio]:checked");
没有:prev和:下一个过滤器,但您可以在此处找到完整的过滤器列表http://api.jquery.com/category/selectors/