js如何获取被点击li是第几个?

比如有4个li,给它们加上点击事件后,用鼠标点击第几个li就会alert是第几个li
求解+++++

1、首先打开html编辑器,新建一个html文件,里面写入4个li标签,并在上方的style标签中设置li的样式,给li标签高度和宽度以及边框,同时设置li标签之间的间隔。

2、然后在script标签中写入js,首先用getElementsByTagName获取所有li标签的dom元素,任何使用for循环遍历数组中的元素,for循环内部设置每个li标签的index元素,在给每个元素添加点击事件,点击之后就会弹出li标签的index值出来。

3、最后打开浏览器,点击其中的一个标签,就会弹出对应的li标签数值了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-06-18
代码如下,只要是要在li的for循环里通过对oLi[i].index=i一步给oLi[i]赋值,这样才可以告诉系统我的这个i是第几个i,系统自己是不知道你的li是第几个的。希望可以帮到你。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0px;
padding: 0px;
}
#ul1{
margin: 100px auto;
width: 100px;
height: 200px;
text-align: center;
}
#ul1>li{
width: 100px;
height: 40px;
line-height: 40px;
border-bottom:1px dotted white;
box-sizing: border-box;
background: #515352;
list-style:none;
color: white;
}

</style>
<script src="move-perfect.js"></script>
<script>
window.onload=function(){
var oUl=document.getElementById('ul1');
var oLi=oUl.getElementsByTagName('li');
for(var i=0;i<oLi.length;i++){
oLi[i].index=i;//这个index就是做个介质,来获取当前的i是第几个,因为系统不会判断你这个i是第几个,智能通过中间的index来获取赋值。
oLi[i].onmouseover= function () {
alert(this.index);
};
}
};
</script>
</head>
<body>
<ul id="ul1">
<li class="fields">1</li>
<li class="fields">2</li>
<li class="fields">3</li>
<li class="fields">4</li>
<li class="fields">5</li>
</ul>
</body>
</html>
第2个回答  2015-04-06
<!DOCTYPE html>
<html>
  <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
RunJS 演示代码
</title>
<script>
onload = function() {
var lis = document.getElementsByTagName("li");
var funny = function(i){
lis[i].onclick = function(){
alert("第" + (i+1) + "个");
}
}
for(var i=0;i<lis.length;i++){
funny(i);
}
}
</script>
  </head>
<body>
<ul>
<li>
1
</li>
<li>
2
</li>
<li>
3
</li>
<li>
4
</li>
</ul>
  </body>
</html>

本回答被提问者采纳

js如何获取被点击li是第几个?
1、首先打开html编辑器,新建一个html文件,里面写入4个li标签,并在上方的style标签中设置li的样式,给li标签高度和宽度以及边框,同时设置li标签之间的间隔。2、然后在script标签中写入js,首先用getElementsByTagName获取所有li标签的dom元素,任何使用for循环遍历数组中的元素,for循环内部设置每个li标签的...

js 事件委托了 之后,怎么知道我点击可第几个li 或许下标
window.onload = function(){ var oUl = document.getElementById("ul"); var aLi = oUl.getElementsByTagName("li"); oUl.onclick = function(ev){ var ev = ev || window.event; var target = ev.target || ev.srcElement; if(target.nodeName.toLowerCase() == "li"...

javascript 怎么获取 li里面点击的元素索引呢?
ul_lis[i].onclick=function(){ var j=this.index+1; alert(j); } }};<\/script>如果想简单的放用Jquery很方便就可以获取。<ul id="test"><ul><li>111<\/li><li>222<\/li><li>333<\/li><li>444<\/li><\/ul><\/ul><script>$("#test li").click(function(){var inde...

如何用JQ获取这个元素是同类元素的第几个元素
(function () { $('.menu li').mouseover(function () { alert($(this).index()); \/\/ 是从0开始的 });});

js 怎样返回当前节点是第几个
alert($(this).index('ul.area li'));});});如果不给 .index()方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。如果参数是一个选择器,那么返回值就是原先元素相对于选择...

jquery 怎么判断点击当前li下的哪一个元素
(document).ready(function(){ ("li").children().click(function(){\/\/当li下的子元素被点击时触发 alert('点击了li下的'+$(this)[0].tagName);\/\/获取被点击元素的标签 });});

javascript获取当前<ul>中点击的<li> 的值
1楼正解 我替楼主试过了 <html><head><title><\/title><\/head> <body onload="ons()"> <ul id="parent"> <li>a<\/li> <li>b<\/li> <li>c<\/li> <\/ul> <\/body> <script> function ons(){ var ul = document.getElementById('parent');var lis = ul.getElementsByTagName('li...

Javascript 问题,给LI标签添加一个Onclick事件后,如何辨别点击了...
function clickLi(e){ \/\/兼容ie 火狐 chrome e = e || window.event;e.target = e.target || e.srcElement;alert(e.target.nodeName);}

...只有其中一个下面有好几个li,用js怎么通过这个li获取其包含它的ul...
<script type="text\/javascript" src="js\/jquery-1.11.1.min.js"><\/script> <\/head> <style> li{ margin-left: 38px;} <\/style> <body> <div class="box"> <ul> <p>1<\/p> <li>1<\/li> <li>2<\/li> <li>3<\/li> <\/ul> <ul> <p>2<\/p> <li>21<\/li> <li>22<\/...

js点击ul中某个li标签,改变这个li标签的背景图,当点击其它li标签时前...
3、在test.html文件内,设置第一个li标签的id为mytest,主要用于下面通过该id获得li对象。4、在test.html文件内,使用button标签创建一个按钮,按钮名称为“改变li的值”。5、在test.html文件中,给button按钮绑定onclick点击事件,当按钮被点击时,执行editli()函数。6、在js标签中,创建editli()...

相似回答