javascript 怎么获取 li里面点击的元素索引呢?

JavaScript011

javascript 怎么获取 li里面点击的元素索引呢?,第1张

方法一:绑定数据在dom元素上。

<!DOCTYPE html>

<html>

<head>

<meta charset=utf-8 />

<title>test</title>

<script>

  window.onload=function() {

  var lis = document.querySelectorAll('ul li')

  for (var i = 0 i < lis.length i++) {

  lis[i]._index = i

  lis[i].onclick = function() {

   alert(this._index + 1)

  }

  }

  }

</script>

</head>

<body>

<ul>

<li>li1</li>

<li>li2</li>

<li>li3</li>

</ul>

</body>

</html>

方法二:闭包

<!DOCTYPE html>

<html>

<head>

<meta charset=utf-8 />

<title>test</title>

<script>

window.onload = function ()

    {

    var lis = document.querySelectorAll ('ul li')

    var anonymous = function (i)

    {

    lis[i].onclick = function ()

    {

    alert (i + 1)

    }

    }

    for ( var i = 0 i < lis.length i++)

    {

    anonymous (i)

    }

    }

</script>

</head>

<body>

<ul>

<li>li1</li>

<li>li2</li>

<li>li3</li>

</ul>

</body>

</html>

方法三:使用 let 关键字 声明

浏览器及最低版本支持

Chrome          Firefox (Gecko)   Internet Explorer       Opera

41.0             2.0 (1.8.1) [1]         11                 17

<!DOCTYPE html>

<html>

<head>

<meta charset=utf-8 />

<title>test</title>

<script>

    window.onload = function ()

    {

       "use strict"

        var lis = document.querySelectorAll ('ul li')

 

        for ( var i = 0 i < lis.length i++)

        {

         let j = i

            lis[i].onclick = function ()

            {

                alert (j + 1) 

            }

        }

    }

</script>

</head>

<body>

    <ul>

        <li>li1</li>

        <li>li2</li>

        <li>li3</li>

    </ul>

</body>

</html>

$(fucntion(){

    $("td").each(function(i){

       $(this).click(function(){

       //这个i就是你要的索引值

       //TODO

    })

   })

})

javascript 点击获取自己是第几个的方法有:

一、使用index()方法

1、方案:$("li").index()

index([selector|element])搜索匹配的元素,并返回相应元素的索引值,从0开始计数。

2、如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。

3、如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。

4、如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。如果找不到匹配的元素,则返回-1。

二、代码如下:

三、jQuery方法

$(‘div‘).each(function (e) {

$(this).click(function () {

console.log(e+1)

//console.log($(this).index() + 1)

})

})