黑马程序员技术交流社区
标题:
DOM问题
[打印本页]
作者:
徐传任
时间:
2012-9-23 10:57
标题:
DOM问题
<head>
<title>练习</title>
<script type="text/javascript" >
function f1() {
var inputs = document.getElementsByName("input");
for (var i = 0; i < inputs.length; i++) {
var input = inputs
;
input.onfocus = f2;
input.onblur = f3;
}
}
function f2() {
this.style.background = "red";
}
function f3() {
this.style.background = "white";
}
</script>
</head>
<body>
<input type="text" /><br />
<input type="text" /><br />
<input type="text" /><br />
<input type="text" /><br />
<input type="text" /><br />
</body>
麻烦给看看哪里错了,新手不大懂
作者:
彭书雄
时间:
2012-9-23 12:21
标题:
input=inputs[i] 下面那么打错了,注意一下
本帖最后由 彭书雄 于 2012-9-26 21:23 编辑
初步看了一下 有两个错误
1.赋值input 应该是input=inputs
;
2.获取元素集合的方法错误
inputs = document.getElementsByTagName(''input);
3.你这段代码 没有调用
在开头处调用f1 函数即可
window.onload=function()
{
f1();
}
复制代码
其实想给相同表单添加同样一个方法可以使用委托 直接在整个添加一个父级 div 标签 然后通过给div 添加 焦点事件 子标签即可获得焦点事件,既然是新手,以后会学到,一点点来,猥琐这里只是提一下,有新区可以研究一下 {:soso_e130:}
作者:
明光照
时间:
2012-9-25 09:07
不对啊。 var inputs = document.getElementsByName("input");input不是这个文本框的名字啊。文本框没有定义名字啊。这是怎么回事啊。难道可以这样用吗
作者:
李后量
时间:
2012-9-25 12:06
如楼上所说,var inputs = document.getElementsByName("input")这句有问题吧,试试改成getElementsByTagName,应该是根据标签来找元素数组吧。
而且下面那个循环里面是不是应该改成var input = inputs[i] 呢?试试吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2