请问怎么获取当前点击的className是第几个

比如一个以下结构,我想写一个方法当单击到对应的class的div的时候,告诉我点击的是第几个


<div id="main_box">

    <div class="text">jkljdasjlkdjaslk</div>

    <div class="text">fdgdfgd</div>

    <div class="text">gdfgfd</div>

    <div class="text">ghgfhfg</div>

</div>

我自己的思路如下,我想用正则来代替任意数字,但是好像这样也不对,因为浏览器应该也不会告诉我点击的是第几个


window.onload = function() {

    mainBox = document.getElementById("main_box");

    

    function editText(){

        getText = event.srcElement.className;

        document.getElementsByClassName(getText)[RegExp(/^d+$/)].onclick = function (){

            alert('您点击的是第几个:');

        }    

    }


    mainBox.onmouseover = editText; //绑定了事件相应的范围

}


隔江千里
浏览 716回答 1
1回答

MMMHUHU

使用正则表达式不会产生数字,而且写法有错误,数字是\d吧,试试下面这种比较经典方法window.onload = function() {&nbsp; textObj = document.getElementsByClassName('text');&nbsp; for(var i = 0; i<textObj.length; i++){&nbsp; &nbsp; textObj[i].index = i;&nbsp; &nbsp; textObj[i].onclick = function () {&nbsp; &nbsp; &nbsp; alert(this.index + 1);&nbsp; &nbsp; }&nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript