天天看点

jQuery中 index() 方法的使用

如果 列表里面 有N多的列表项目 我想知道我点击了哪一个 应该怎么取呢?

jQuery 里面 提供了一个 index() 方法 :index(subject)

搜索与参数表示的对象匹配的元素,并返回相应元素的索引值值。

如果找到了匹配的元素,从0开始返回;如果没有找到匹配的元素,返回-1。

但是 API里面提供的例子貌似不对

<ul>

    <li><a href="#nogo">这里是一个序列</a></li>

</ul> 

如上所示,这是一个无序列表 我要点击任意一个列表项目 要求得到该项目的序列 该怎么样呢?

$(document).ready(function(){ 

$("#act li").click(function(){

   alert( $( "#act li" ).index( $(this)[0] ) );

   })

}) 

 $( "#act li" ).index( $(this)[0] )    [0]灰常重要哦~

如下的列表 我们点击一个 要找到当前的列表项目的序列 我们应该这样写 :

$(document).ready(function(){

      $("li").click(function(){

          alert($( "ul li" ).index( $( this)[0] ) ) ;

}) })

红色的部分很重要 如果 你丢掉了 li 肯定报 -1 的 也就是找不到

如果 UL 有ID 也可以直接用ID 选择

<ul id="act">

    <li><a href="#nogo">中超联赛世界排名不敌新加坡</a></li>

</ul>

$(document).ready(function(){

$("#act li").click(function(){

   alert( $( "#act li" ).index( $(this)[0] ) );

   })