Javascript 在tabla data中设置单击功能<;td>;带参数

Javascript 在tabla data中设置单击功能<;td>;带参数,javascript,html,function,onclick,html-table,Javascript,Html,Function,Onclick,Html Table,我有以下代码: for (var i = 0; i < ArregloNombres.length; i++) { var tr = document.createElement("tr"); for (var j = 0; j < ArregloNombres[i].length; j++) { var td = document.createElement("td"); var text = document.createTextN

我有以下代码:

for (var i = 0; i < ArregloNombres.length; i++) {
    var tr = document.createElement("tr");
    for (var j = 0; j < ArregloNombres[i].length; j++) {
        var td = document.createElement("td");
        var text = document.createTextNode(ArregloNombres[i][j]);
        td.appendChild(text);

        tr.appendChild(td);

    }
    var Link = document.createElement("a");


    var textLink = document.createTextNode("Eliminar");


    Link.appendChild(textLink);
    Link.onclick = function() {
        eliminarImpuesto(i)
    };


    var tdLink = document.createElement("td");

    tdLink.appendChild(Link);

    tr.appendChild(tdLink);

    tabla.appendChild(tr);

}
for(变量i=0;i
其中,
eliminarImpuesto(i)
只是
alert(i)
。问题是,对于我创建的每个链接,都会传递相同的参数,这是数组中的值的数量。例如,我在数组中有两个元素,然后表中的每个链接调用函数
eliminarImpuesto(2)
,而不是发送正确的值。请帮助。

您的变量“i”似乎是全局变量。检查以下链接:

也许,如果您为元素指定一个属性,然后将其取回,您可以解决它

for(var i = 0; i<ArregloNombres.length ; i++){
    var tr = document.createElement("tr");
         for(var j = 0; j<ArregloNombres[i].length; j++) {
                   var td = document.createElement("td");
                   var text = document.createTextNode(ArregloNombres[i][j]);
                   td.appendChild(text);

                   tr.appendChild(td);

                 }
                   var Link = document.createElement("a");


                   var textLink = document.createTextNode("Eliminar");
                        //HERE: passing the attribute to  your element...

                        textLink.setAttribute('data-i',i);

                   Link.appendChild(textLink);
                   Link.onclick =function(){eliminarImpuesto(textLink)};


                   var tdLink = document.createElement("td");

                   tdLink.appendChild(Link);

                   tr.appendChild(tdLink);

                 tabla.appendChild(tr);

               }


             }


 function eliminarImpuesto(element)
 {
    //getting it back...
    var i = element.getAttribute('data-i');
 }
for(var i=0;i您的变量“i”似乎是全局变量。请检查以下链接:

也许,如果您为元素指定一个属性,然后将其取回,您可以解决它

for(var i = 0; i<ArregloNombres.length ; i++){
    var tr = document.createElement("tr");
         for(var j = 0; j<ArregloNombres[i].length; j++) {
                   var td = document.createElement("td");
                   var text = document.createTextNode(ArregloNombres[i][j]);
                   td.appendChild(text);

                   tr.appendChild(td);

                 }
                   var Link = document.createElement("a");


                   var textLink = document.createTextNode("Eliminar");
                        //HERE: passing the attribute to  your element...

                        textLink.setAttribute('data-i',i);

                   Link.appendChild(textLink);
                   Link.onclick =function(){eliminarImpuesto(textLink)};


                   var tdLink = document.createElement("td");

                   tdLink.appendChild(Link);

                   tr.appendChild(tdLink);

                 tabla.appendChild(tr);

               }


             }


 function eliminarImpuesto(element)
 {
    //getting it back...
    var i = element.getAttribute('data-i');
 }

for(var i=0;我准备好在link.id=i中设置它,然后在参数this.id中设置它!我很高兴知道是你做的!已经在link.id=i中设置它,然后在参数this.id中设置它,很高兴知道是你做的!