jQuery是(“:first”)不起作用

时间:2014-03-10 07:25:09

标签: javascript jquery

我使用jQuery(“:first”)判断一个元素是否是其兄弟姐妹中的第一个,但它总是返回false。有什么不对吗?或者它是jQuery的错误? THX。

$(".page:first").is(":first"); //always return false.

4 个答案:

答案 0 :(得分:2)

要测试第一个找到的.page元素是否是第一个兄弟,您可以使用.index()

if ($('.page:first').index() == 0) {
    // it's the first child
}

或者简单地说:

if ($('.page').index() == 0) {
    // it's the first child
}

.is()函数的工作原理是将当前结果集与给定的选择器匹配,后者是文档的第一个元素,即<html>。只有$('html').is(':first')true

答案 1 :(得分:1)

你应该这样使用:

$(".page").is(":first") //always return false.

或者,

$(".page:first") //always return false.

或者,

$(".page").first() //always return false.

答案 2 :(得分:1)

您想要检查.page的第一个元素是否是第一个元素。根据你的代码,我们无法知道哪个元素的第一个孩子。

如果您检查$(":first")的输出,则会显示页面的顶部元素<html>标记。

因此,您的支票将始终返回false。详细说明您要执行的操作,否则此逻辑将始终失败。

答案 3 :(得分:0)

Jquery有一个名为first()的方法。因此,请尝试使用$(".page").first()