章节
问答
课签
笔记
评论
占位
占位

jQuery中DOM元素的获取index方法

get方法是通过已知的索引在合集中找到对应的元素。如果反过来,已知元素如何在合集中找到对应的索引呢?

.index()方法,从匹配的元素中搜索给定元素的索引值,从0开始计数。

语法:参数接受一个jQuery或者dom对象作为查找的条件

.index()
.index( selector )
.index( element )
  • 如果不传递任何参数给 .index() 方法,则返回值就是jQuery对象中第一个元素相对于它同辈元素的位置
  • 如果在一组元素上调用 .index() ,并且参数是一个DOM元素或jQuery对象, .index() 返回值就是传入的元素相对于原先集合的位置
  • 如果参数是一个选择器, .index() 返回值就是原先元素相对于选择器匹配元素的位置。如果找不到匹配的元素,则 .index() 返回 -1

简单来说:

<ul>
    <a></a>
    <li id="test1">1</li>
    <li id="test2">2</li>
    <li id="test3">3</li>
</ul>

$("li").index() 没有传递参数,反正的结果是1,它的意思是返回同辈的排列循序,第一个li之前有a元素,同辈元素是a开始为0,所以li的开始索引是1

如果要快速找到第二个li在列表中的索引,可以通过如下2种方式处理

$("li").index(document.getElementById("test2")) //结果:1
$("li").index($("#test2"))  //结果:1

实际的使用可以参考右边的代码区域:

 

 

 

 

 

任务

?不会了怎么办
||
1
2
<!DOCTYPE html>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

已采纳回答 / qq_与陌Dance_0
感觉上加和没加没区别、至少这边测试起来是没区别的

已采纳回答 / 久点
你获取的是id为test5的对象,而不是他的值。$("li").index(document.getElementById("test5"))查询该对象在li中的索引值

已采纳回答 / DYWTD
 .con{ width: 80%; }将宽度修改一下这样就可以确保内部div不是一个固定值。

最赞回答 / 不二周助爱萌猫3365373
$('li').index()没有参数的时候,是第一个li相对于同辈元素的位置;$('li').index($('#text')) 就是传入的对象$('#text')相对于li的位置$("#test5").index('li') 传入一个选择器的时候就是,前面id为test5元素相对于后面的选择器li的位置,当然,就是2了

最赞回答 / 小富君子
此例中,第一个li前面还有两个a标签,索引从0开始,于是返回的是2

最赞回答 / 慕粉3801737
就是说这个节点在兄弟节点中的顺序号,如代码中的第一个li元素的父元素是ul,顺序号就是在此ul的子节点中的序号,即在兄弟中的顺序排行位置。

已采纳回答 / 喵咪2荡
如果不传递任何参数给 .index() 方法,则返回值就是jQuery对象中 第一个元素 相对于它同辈元素的位置此例中,第一个li前面还有两个a标签,索引从0开始,于是返回的是2

最赞回答 / Feair
如果你删除一个<a></a>标签,你看一下输出结果(1)。a和li标签都是属于同辈元素,所以说第一个元素相对于它同辈元素的位置的意思就明白了吧。多改改代码,观察输出结果。

已采纳回答 / _FYX_
他获取的是所有的li标签 就是把所有的li标签拿出来 是一个集合 在这个集合中的索引位置 就是4  

已采纳回答 / carryhuihui
返回值是传入的元素相对于原先集合的位置

最新回答 / 弧度里的微笑之梦留无痕
删除id 值后jquery对象会返回-1,dom返回的值就是第一个查询默认的值,可以自己把代码单独运行一下

已采纳回答 / 正是泽
empty()是清空它里面内容的意思,不包括它本身。如:<div class="demo"><p>举个例子</p></div>$(".demo").empty();结果为:<div class="demo"></div>
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言