首页 新闻 会员 周边

options.add位置放哪有区别吗?

0
悬赏园豆:50 [已关闭问题] 关闭于 2009-01-09 18:15

今天要在程序中自动追加一个选项框,但发现如下两个代码却引来不一样的结果:
正确的:
var oOption = document.createElement("OPTION");
oSelect.options.add(oOption);
oOption.innerText = "Two";
oOption.value = "2";
错误的:
var oOption = document.createElement("OPTION");
oOption.innerText = "Two";
oOption.value = "2";
oSelect.options.add(oOption);  <--此处会“参数无效”的错误

前后两次监视变量oOption,有差别的有:
index 类型:Long 正确时:1 错误时:44356096
offsetParent
 类型:DispHTMLSelectElement
 正确时:{计数 = 2}
 错误时:null
parentElement
 类型:DispHTMLSelectElement
 正确时:{计数 = 2}
 错误时:null
parentNode
 类型:DispHTMLSelectElement
 正确时:{计数 = 2}
 错误时:{object}
parentTextEdit
 类型:DispHTMLBody
 正确时:{object}
 错误时:null
previousSibling
 类型:DispHTMLOptionElement
 正确时:{object}
 错误时:null
sourceIndex
 类型:Long
 正确时:6
 错误时:0
text
 类型:String
 正确时:Two
 错误时:
uniqueID
 类型:String
 正确时:ms__id2
 错误时:ms__id1
uniqueNumber
 类型:Long
 正确时:2
 错误时:1

问题补充: 用于测试的HTML全部内容: <html> <body> <SELECT ID="oSelect" multiple="multiple"> <OPTION VALUE="1">One</OPTION> </SELECT> <SCRIPT> var oOption = document.createElement("OPTION"); oOption.innerText = "Two"; oOption.value = "2"; oSelect.options.add(oOption); </SCRIPT> </body> </html>
yzx99的主页 yzx99 | 初学一级 | 园豆:137
提问于:2008-12-29 11:10
< >
分享
所有回答(2)
0

我觉的不应该存在先后顺序有影响的问题,你再检查一下会不会有什么其它原因导致这个错误的

GUO Xingwang | 园豆:3885 (老鸟四级) | 2008-12-29 12:55
0

当然是要先add到options中, 才能设置这个对象的innerText和value了。 不然光 var oOption innerText和value这个就不存在。解释型的,createElement的时候并不知道里面就是OPTION吧。  我是这样认为的。

问天何必 | 园豆:3311 (老鸟四级) | 2008-12-30 14:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册