日期:2014-05-20  浏览次数:20670 次

关于js小问题
<html>
<script>
var arr=new Array('1','2','3');
alert(arr.length);
var sel=document.getElementById("sel");
var j=0;
for(var i=0;i<arr.length;i++){
  var opt=document.createElement("option");
  opt.text=arr[i];
  opt.value=arr[i];
  j=j+arr[i];
  sel.options.add(opt);
}
alert(j);
//}
</script>
<h1>HELLO WORLD</h1>
<body >
<select style="width:100px" id="sel" name="sel">

<option value="0">请选择</option>
</select>
<select name="xzzdist" id="xzzdist" autocomplete="off">
  <option value="0">请选择</option>
</select>
</body>
</html>

运行以上代码会报“sel缺少对象”的错误,谁能告诉我这是怎么回事儿?

------解决方案--------------------
你把Script写在了select之前,所以脚本执行的时候,该DOM对象还不存在,建议修改:

function init() {
var arr=new Array('1','2','3');
alert(arr.length);
var sel=document.getElementById("sel");
var j=0;
for(var i=0;i<arr.length;i++){
var opt=document.createElement("option");
opt.text=arr[i];
opt.value=arr[i];
j=j+arr[i];
sel.options.add(opt);
}
alert(j);
}

<body onload="init()">