bonjour non il ne fonctionnerait pas si tu remplaçait
this.asc = !this.asc
// par
th.asc = !th.asc
par ce que cette ligne et situé dans la fonction exécuté au click d'un th et qu'au moment de l'exécution de cette fonction tous les th on été parcourues et que la variable th fait référence au th actuel dans le parcours des th donc il serait toujours soit égal au derniers th et pas à celui qui et cliqué soit la donnée aurait été libéré et tu aurais un ReferenceError
car indexOf( ) permet normalement de récupérer l'indice de la colonne sur lequel se trouve le <th> cliqué et si j'ai bien compris ta réponse, en mettant « indexOf(th) » on risquerait de récupérer l'indice de la dernière colonne du tableau...
Pourtant que j'ajoute console.log("th :", th, this, this === th) dans la fonction du click, ça me dit bien que this et th représentent tous les deux le <th> sur lequel je clique.
const tbody = document.querySelector('tbody');
const thx = document.querySelectorAll('th');
const trxb = tbody.querySelectorAll('tr');
thx.forEach(function(th){
th.addEventListener('click', function(){
console.log("th :", th, this, this === th);
let classe = Array.from(trxb).sort(compare(Array.from(thx).indexOf(th), this.asc = !this.asc));
classe.forEach(function(tr){
tbody.appendChild(tr)
});
})
});
Ouais bizzare , ça vient peut être du client que tu utilise mais c'est pas le comportement naturel en javascript...
A ta place je continuerais d'utilisais "this" , tu pourrait avoir des problèmes en changant de navigateur où juste en mettant à jour sinon.
suggestion de présentation.
Mot clef "this"
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Serveur discord - Zone Dev
Serveur discord - Zone Dev
suggestion de présentation.
suggestion de présentation.
suggestion de présentation.