代码如下,见代码注释部分:<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body><form action="" id="form1">
<input type="text" value="apple"><br />
<input type="text" value="google"><br />
<input type="password" value=""><br />
</form>
<script type="text/javascript">var form=document.getElementById("form1");
for(var i=0;i<form.length;i++){
if(form.elements[i].type=="text"){
//正常的:form.elements[i].onclick
//用this替换form.elements[i]引起错误,和什么有关系?
this.onclick=function(){ alert(this.type); };
}
}</script>
</body>
</html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body><form action="" id="form1">
<input type="text" value="apple"><br />
<input type="text" value="google"><br />
<input type="password" value=""><br />
</form>
<script type="text/javascript">var form=document.getElementById("form1");
for(var i=0;i<form.length;i++){
if(form.elements[i].type=="text"){
//正常的:form.elements[i].onclick
//用this替换form.elements[i]引起错误,和什么有关系?
this.onclick=function(){ alert(this.type); };
}
}</script>
</body>
</html>
话说你为什么会觉得他俩等价啊
<script type="text/javascript">
$(document).ready(function() {
$("#form1").find("input[type=text]").each(function(i) {
$(this).bind("click",function(){
alert($(this).attr("type"));
});
});
});
</script>
这时候的this不应该是引用当前循环中的子元素吗?
就是说:this=form.elements[i]this==window不是IE浏览器对事件对象的this一个解析问题吗?-------------------------------------------------
以上有点不解