首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery is(":first")不起作用

问jQuery is(":first")不起作用
EN

Stack Overflow用户
提问于 2014-03-10 07:25:09
回答 4查看 104关注 0票数 1

我使用jQuery is(": first ")判断一个元素是否是其兄弟类中的第一个元素,但它总是返回false。有什么问题吗?还是jQuery的一个bug?谢谢。

代码语言:javascript
复制
$(".page:first").is(":first"); //always return false.
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-10 07:39:05

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

代码语言:javascript
复制
if ($('.page:first').index() == 0) {
    // it's the first child
}

或者简单地说:

代码语言:javascript
复制
if ($('.page').index() == 0) {
    // it's the first child
}

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

票数 2
EN

Stack Overflow用户

发布于 2014-03-10 07:28:21

你应该这样用:

代码语言:javascript
复制
$(".page").is(":first") //always return false.

或,

代码语言:javascript
复制
$(".page:first") //always return false.

或,

代码语言:javascript
复制
$(".page").first() //always return false.
票数 1
EN

Stack Overflow用户

发布于 2014-03-10 07:35:24

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

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

因此,您的支票将始终返回假。详细说明您想要做什么,否则这个逻辑总是失败的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22294287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档