Référence du mot clef "this"
Bonjour tout le monde, j'ai du mal à comprendre à quel objet fait référence le mot clef «this» à la ligne 24 du code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| const compare = function(ids, asc){
return function(row1, row2){
const tdValue = function(row, ids){
return row.children[ids].textContent;
}
const tri = function(v1, v2){
if (v1 !== '' && v2 !== ''&& !isNaN(v1) && !isNaN(v2)){
return v1-v2;
}
else {
return v1.toString().localeCompare(v2);
}
return v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2);
};
return tri(tdValue(asc ? row1 : row2, ids), tdValue(asc ? row2 : row1, ids));
}
}
const tbody = document.querySelector('tbody');
const thx = document.querySelectorAll('th');
const trxb = tbody.querySelectorAll('tr');
thx.forEach(function(th){
th.addEventListener('click', function(){
let classe = Array.from(trxb).sort(compare(Array.from(thx).index0f(th), this.asc = !this.asc));
classe.forEach(function(tr){
tbody.appendChild(tr)
});
})
}); |
Sur des exemples plus simples j'arrive à comprendre mais là j'ai du mal...
Est-ce que c'est le <th> sur lequel on clique ?
Merci pour votre aide.