как это сделать:
$(".results tr:not(:first)").each(function(e){
// somme code
e.append("<td> display value </td>")
});
конечно, это не работает, я пытаюсь получить второе значение (f) en doen't тоже работает весь мой код:
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);
}
})
}
В вашем случае e
относится к индексу элемента.
Синтаксис .each() является
.each( function(index, Element) )
Измените свой код на, Здесь я использую this
$(".results tr:not(:first)").each(function(index, element){
// somme code
$(this).append("<td> display value </td>")
});
Перейдите к следующему:
$(this).append("<td> display value </td>");
//^^^^^----$(this) refers here to the current tr in loop
Проблема с кодом:
Вы использовали e
для текущего элемента, который обозначает index
этого tr
.
Здесь .each( function(e))
если вы передаете только один аргумент в функции, тогда он ищет индекс, потому что первый аргумент в соответствии с документом является index
:
.each( function(index, Element))
Поэтому я думаю, что вы тоже можете попробовать изменить это:
$(".results tr:not(:first)").each(function(index, e){ // <----pass another arg
// somme code
e.append("<td> display value </td>")
});