追加foreach jquery中的元素

时间:2014-04-28 07:33:10

标签: javascript jquery foreach

如何执行此操作:

$(".results tr:not(:first)").each(function(e){
    // somme code
    e.append("<td> display value </td>")
});

当然,这并不起作用我尝试了一个借调值(f)也不起作用  我的整个代码是:

function affStat(){
    if(localStorage.table == "") return ;
    var table = JSON.parse(localStorage.table);

    $(".results tr:not(:first)").each(function(e, f){
        try{
            //console.log(f.children[1].children[0].title);
            var titre = f.children[1].children[0].title ;
            //console.log(f.children[5].textContent);
            var taille = f.children[5].textContent ;
            var hash = btoa(titre + taille);

            if($.inArray(hash, table)){
             // XXXXXXXXXXXXXXX.append("<td> V </td>");
                console.log(hash + "   V");
            }else{
             // XXXXXXXXXXXXXXXXX.append("<td> X </td>");
                console.log(hash + "   X");
            }
        }catch(err){
            console.log(err);
        }
    })
}

2 个答案:

答案 0 :(得分:0)

在您的情况下,e指的是元素索引。

.each()的语法是

.each( function(index, Element) )

将您的代码更改为,我在这里使用this

$(".results tr:not(:first)").each(function(index, element){
    // somme code
    $(this).append("<td> display value </td>")
});

答案 1 :(得分:0)

更改为:

$(this).append("<td> display value </td>");
//^^^^^----$(this) refers here to the current tr in loop

您的代码问题:

您已使用e作为当前元素,该元素代表index的{​​{1}}。
这里tr如果你只在函数中传递一个争论,则查找索引,因为根据文档的第一个争论是.each( function(e))

index

所以我认为你也可以尝试改变它:

.each( function(index, Element))