比如一个以下结构,我想写一个方法当单击到对应的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; //绑定了事件相应的范围}
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
使用正则表达式不会产生数字,而且写法有错误,数字是\d吧,试试下面这种比较经典方法
window.onload = function() {
textObj = document.getElementsByClassName('text');
for(var i = 0; i<textObj.length; i++){
textObj[i].index = i;
textObj[i].onclick = function () {
alert(this.index + 1);
}
}
}
添加回答
举报
0/150
提交
取消