javascript中的html传递参数问题?

我有如下语句:
var i;
var len = url.length;
var html = [];
for (i = 0; i < len; i++)
{
html.push(
'<div style = "width:250px, float:left">' +
'<div>' + name[i] + '</div>' +
'<div><img src = "'+url[i]+'"></div>' +
'<div><input type = "button" value = "App详细信息" onclick = "appDetail(i)"></div> ' +
'</div>'
);
}
document.write(html);
document.getElementById("main").innerHTML = html.join(",");
appDetail函数如下定义:
function appDetail(var i)
{
document.write(name[i]);
}
有两个问题:1.上面appDetail(i)中的参数如何传递,因为input是在js里的,不能像在html中那样直接传参,那么该怎么做?
2. 为什么执行document.write(html);后可以显示,但是执行 document.getElementById("main").innerHTML = html.join(",");后却没有显示?
js新手,求教~~~

你这么又提问了啊,好像我回答过你一个图片上放标题,底下放按钮的问题哈,还有代码和我写的风格很像,。。。。看样子应该是学的很快哇

onclick = "appDetail(i)"这个地方你就不知道变通一下把i也写进去么

onclick = "appDetail(‘+i+’)"

document.write(html);如果在页面加载完后执行就什么显示的内容也覆盖了

document.getElementById("main")这个id=main的div你也拷到你页面里了么?

上面两条看看哪条说中了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-28

    你的参数传递有问题,你的那个i表示的是什么意思?

    var div = document.getElementById("main"),你的页面上有没有main这个id?

第2个回答  2013-08-28
1.onclick = "appDetail(i)" 改为 onclick = "appDetail('+i+')";
2.这样写 document.body.innerHTML+=html;