注册 登录
编程论坛 JavaScript论坛

请教一个document.createElement写法的问题?

gu_tong2008 发布于 2011-03-16 16:12, 1044 次点击
看我的代码:
for(var i=0;i<8;i++)
{
    var e = document.createElement('<select name=low_ingress onChange="SelectList(i,0)">');
}
我想用document.createElement动态生成一个select下拉选择框,并用onChange调用SelectList(i,0)函数,i为SelectList中的一个动态的参数,但程序执行时报错,报"i未定义",我应该怎样改,才能使i成为函数SelectList中一个动态的参数?
9 回复
#2
gu_tong20082011-03-17 09:28
怎么没人会吗?等着急用呢!
#3
gu_tong20082011-03-17 10:56
看来我的问题难倒一大批高手了,呵呵,不过我已经搞定了,呵呵,
#4
foktime2011-03-17 14:48
hello 偶尔过来转了一下 看到你了。
貌似印象里我刚注册帐号来的时候就常见你提问,
一年多了,现在又看到了这样的问题,小兄弟进步速度似乎有些微慢哦 :)
#5
gu_tong20082011-03-17 15:08
呵呵,这个嘛,问题说大也不大,但有的时候想不出来的时候说小也不小,呵呵,你能说说我上面的问题是怎样解决的吗?

我不像你们啦,都是牛B仔,进步的速度当然会稍慢的啦,别笑我!呵呵。。。。。。
#6
wcwtitxu2011-03-27 00:28
for(var i=0;i<8;i++)
 {

     var e = document.createElement('<select name=low_ingress onChange="SelectList(' + i + ',0)">');
}





建议




for(var i=0;i<8;i++)
 {

    var e = document.createElement((!window.ActiveXObject) ? 'select' : '<select name="low_ingress">');

    e.setAttribute('name', 'low_ingress');

    e.onchange = new Function('SelectList(' + i + ', 0);');

}


或者

for(var i=0;i<8;i++)
 {

    var e = document.createElement((!window.ActiveXObject) ? 'select' : '<select name="low_ingress">');

    e.setAttribute('name', 'low_ingress');
    e.onchange = function(i) {
        return function() { SelectList(i, 0); }

    }(i);
}
#7
gu_tong20082011-03-28 09:32
回复 6楼 wcwtitxu
你说的是对的,不过我已经解决了,呵呵,不过还是要谢谢你这么热心!
#8
argont2011-04-10 11:34
首选请你别说难倒一大批高手了!!!!

很吓人的!!!!!!

对于高手而言,你根本未入门,无法和你交流!怕你不懂!!!!
#9
gu_tong20082011-04-15 09:31
以下是引用argont在2011-4-10 11:34:05的发言:

首选请你别说难倒一大批高手了!!!!

很吓人的!!!!!!

对于高手而言,你根本未入门,无法和你交流!怕你不懂!!!!
呵呵,我这是激将!莫怪!见笑,见笑!
#10
Luohui1092011-07-07 13:37
for(var i=0;i<8;i++)
{
    var e = document.createElement('<select name=low_ingress onChange="SelectList("+i+",0)">');
}
但是最好是以6楼的建议为参考..
因为除IE外,不支持createElement(参数)  参数为 元素的完整的字符串..
1