日期:2014-05-16  浏览次数:20333 次

JS生成按钮以及onclick动作

在用JS生成onclick动作时遇到困难,用了一天才解决,记录备忘:

1、想实现的效果是:

用JS生成按钮(button),并给其附加各种属性,

生成代码类似:<input name='99' type='button' onclick='showHint(this.name)' value='顶一下'/>

包括动作:onclick='showHint(this.name)'    //'showHint(this.name)是一个事先写好的JS函数,(this.name)是传的参数。

开始写的代码如下:

//----------------------------------创建投票按钮-------------------------------------------

var votebutton = document.createElement("input");    // 生成input对象
    votebutton.type = "button";                                       // 生成input属性value
    votebutton.value = "支持,顶一下";
    votebutton.name = "99";                                         // 可用JS中的票数变量替换此处的“99”,
                                                                                      供下面的vote()传回;

    votebutton.className = "btnone";
    votebutton.onclick= "vote(this.name)";                   //这句不好用
    _td12.appendChild(votebutton);                             //将按钮附加到“ _td12”的td中

2、遇到的问题:

发现这句不起作用:votebutton.onclick= "vote(this.name)";

到网上查,发现votebutton.onclick= 后面加的函数不能加参数,但我需要传一个参数,

2、解决方法:

把它换成这种方式写:

votebutton.onclick=function (){
              vote(this.name);

};