<!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)
})
})