6-5 jQuery中DOM元素的获取index方法
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery中DOM元素的获取index方法

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

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

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

.index()
.index( selector )
.index( element )

简单来说:

<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. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  6. <title></title>
  7. <style>
  8. a {
  9. font-size: 30px;
  10. font-weight: 900;
  11. }
  12. </style>
  13. <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
  14. </head>
  15.  
  16. <body>
  17. <h2>index方法</h2>
  18. <ul>
  19. <a></a>
  20. <a></a>
  21. <li id="test1">1</li>
  22. <li id="test2">2</li>
  23. <li id="test3">3</li>
  24. </ul>
  25. <ul>
  26. <li id="test4">4</li>
  27. <li id="test5">5</li>
  28. <li id="test6">6</li>
  29. </ul>
  30. <select id="animation">
  31. <option value="1">index无参数</option>
  32. <option value="2">index传递dom</option>
  33. <option value="3">index传递jQuery对象</option>
  34. </select>
  35. <input id="exec" type="button" value="点击执行">
  36. <br />
  37. <br /> 索引结果:
  38. <span></span>
  39. <script type="text/javascript">
  40. $("#exec").click(function() {
  41. var v = $("#animation").val();
  42.  
  43. var $span = $("span");
  44. $span.empty();
  45.  
  46. if (v == "1") {
  47. //找到第一个li的同辈节点中的索引位置
  48. $span.text($("li").index())
  49. } else if (v == "2") {
  50.  
  51. //通过传递dom查找
  52. $span.text($("li").index(document.getElementById("test5")))
  53.  
  54. } else if (v == "3") {
  55. //通过传递jQuery对象查找
  56. $span.text($("li").index($("#test6")))
  57.  
  58. }
  59. });
  60. </script>
  61. </body>
  62.  
  63. </html>
  64.  
返回课程