JavaScript动态参数
我有以下代码(html,js,jquery)片段( http://jsfiddle.net/MUScJ/2/ ):
function someFunc(){ html = ''; z = 1; for(i=0; i<5; i++){ html += ''; z++; } $("#container").html(html); return true; } function otherFunc(z){ alert('z:' + z); return true; }
此脚本使用onclick事件输出五个按钮。 JS函数otherFunc
总是返回z变量等于6.是否有可能克服这个问题? 我希望每个按钮都有其特定的z值 – 1,2,3 ……等。
有任何想法吗 ?
你正在使用字符串而不是param :)这是你更新的例子 。
但是尝试用jquery bind替换onclick。 强烈建议不要使用Onclick 🙂
由于您没有使用var
,因此您的z
变量是全局变量。 出于多种原因,这是坏消息。 但在你的情况下,你的onclick正在调用otherFunc(z)
,其中z
是全局z,它的最终值为6。
一种可能的解决方法是更改您生成的html:
var z = 1; var html = ''; for(var i=0; i<5; i++){ html += ''; z++; }
这是解决它的最简单方法,但是你并没有真正利用jQuery为你提供的强大function。
是的,改变这个:
html += '';
进入这个:
html += '';
这个问题是你通过递增z
迭代的结果,但创建使用z
代码(无论创建后调用的值是什么 – 在这种情况下它是6
)而不是使用z
来创建静态代码(输入值)在HTML创建时)。