有N个div,每个id都一样,按0-N排列遍历,点击其中一个,怎么知道点击的是第几个。
有N个div,每个id都一样,按0-N排列遍历,点击其中一个,怎么知道点击的是第几个。,求代码。...
有N个div,每个id都一样,按0-N排列遍历,点击其中一个,怎么知道点击的是第几个。,求代码。
展开
1个回答
展开全部
N个div在生成的时候为什么要生成一样的id呢?
例如
var htmlstr="";
for(var i=0;i<20;i++){
htmlstr="<div id=\" div"+i+"\" onclick='javascript:clickfunction("+i+")'></div>";
}
这样生成的id就是 ”div1“,”div2“这样的,有了这个附加的序号就不乱了。
然后点击的某一个时,可以传递个参数过去,再配合上面带序号的id,就可以判断了。
一个HTML文档中,最好不要存在2个相同的id。
例如
var htmlstr="";
for(var i=0;i<20;i++){
htmlstr="<div id=\" div"+i+"\" onclick='javascript:clickfunction("+i+")'></div>";
}
这样生成的id就是 ”div1“,”div2“这样的,有了这个附加的序号就不乱了。
然后点击的某一个时,可以传递个参数过去,再配合上面带序号的id,就可以判断了。
一个HTML文档中,最好不要存在2个相同的id。
更多追问追答
追问
不是生成的,DIV一直就在,每个div都有一个相同的id,然后我$("#div").click怎么知道点的是哪一个呢,求教。。遍历只是我的一个想法,
追答
相同id的div即使识别了也没法操作。除非有其他的属性不一样才能区分。
jQuery有个each命令,如果你只是数个数可以用这个命令:
each(callback)
概述
以每一个匹配的元素作为上下文来执行一个函数。
意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型)。
返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。返回 'true'
跳至下一个循环(就像在普通的循环中使用'continue')。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询