你任何你赋值了吗?
var spans = document.getElementsByTagName("span");
for (var i = 0; i < spans.length; ++i){
spans[i].onclick = function(X){
alert(this.innerHTML + X);
/*问题在上面这行
代码看起来已经传递了i,但为什么在onclick事件里依然是undefined呢?
*/
}你给 X值了没?
明显错了
var spans = document.getElementsByTagName("span");
for (var i = 0; i < spans.length; ++i){
spans[i].onclick = function(X){
alert(this.innerHTML + X);
/*问题在上面这行
代码看起来已经传递了i,但为什么在onclick事件里依然是undefined呢?
*/
}你给 X值了没?
明显错了
解决方案 »
- 请帮忙估计一下工作量
- 在Chromes中如何从audio标签中得到频谱画在canvas上?
- 一个关于从值获取属性的问题
- 求一个正则表达式--去掉页面的所有链接
- 修改input中的ID属性值
- js动态生成上传标记问题。当上传控件选好路径,再添加一个上传标记后,选择状态丢失问题!
- 如何获取子框架中 select 的个数。在线等
- 关于text文本框实时计算的问题!
- 如何让外部js脚本中的函数可以返回中文?
- 这种移动如何玩 100分,别看你玩了这么多年js了,这个你不一定会玩
- 帮忙看看这个能不能行
- 网页里有很多<div id="s"+变量 >..<div> 请问:怎样把这些id带“s”的<div>都删除?
<span>America</span>
<span>Singapore</span><script type="text/javascript">
var spans = document.getElementsByTagName("span");
for (var i = 0; i < spans.length; i++){
spans[i].onclick =(function(x){return function(){alert(x);}})(i)
}
</script>
<span>China</span>
<span>America</span>
<span>Singapore</span>
<script type="text/javascript">
var spans = document.getElementsByTagName("span");
for (var i = 0; i < spans.length;i++){
spans[i].onclick = function(id){
return function(){
alert((this.innerHTML)+id);
}
}(i)
}
</script>