我使用jQuery(“:first”)判断一个元素是否是其兄弟姐妹中的第一个,但它总是返回false。有什么不对吗?或者它是jQuery的错误? THX。
$(".page:first").is(":first"); //always return false.
答案 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()