Parcourir un tableau HTML

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
carlos Medina
Messages : 3
Enregistré le : 14 août 2021, 17:03

Parcourir un tableau HTML

Message par carlos Medina » 14 août 2021, 17:32

Salut,
J'ai une fonction qui parcours un tableau HTML et enregistre les resultats dans un fichier csv.
Moi je suis intéressé que par la colonne 3, comment éliminer la boucle For ?

i parcous les lignes:

Code : Tout sélectionner

output +='for (var i = 0; i < rows.length; i++) {';
j parcours les colonnes:

Code : Tout sélectionner

    output +='    for (var j = 3; j < cols.length; j++)';
    output +='row.push(cols[j].innerText);';
Code complet:

Code : Tout sélectionner

output +='<script>';
	output +='function downloadCSV(csv, filename) {';
    output +='var csvFile;';
    output +='var downloadLink;';
    output +='csvFile = new Blob([csv], {type: \"text/csv\"});';
    output +='downloadLink = document.createElement(\"a\");';
    output +='downloadLink.download = filename;';
    output +='downloadLink.href = window.URL.createObjectURL(csvFile);';
    output +='downloadLink.style.display = \"none\";';
    output +='document.body.appendChild(downloadLink);';
    output +='downloadLink.click();';
	output +='}';
	output +='function exportTableToCSV(filename) {';
    output +='var csv = [];';
	output +='var rows = document.querySelectorAll(\"table tr\");';
    output +='for (var i = 0; i < rows.length; i++) {';
	output +='var row = [], cols = rows[i].querySelectorAll(\"td, th\");';
    output +='    for (var j = 3; j < cols.length; j++)';
    output +='row.push(cols[j].innerText);';        
	output +='csv.push(row.join(\",\"));';
	output +='}';
    output +='downloadCSV(csv.join(\"\\n\"), filename);';
	output +='}';	
	output +='<\/script>';

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Parcourir un tableau HTML

Message par webmaster » 16 août 2021, 11:12

Bonjour,

Si seule la colonne 3 est utile, il faut remplacer

Code : Tout sélectionner

    output +='    for (var j = 3; j < cols.length; j++)';
    output +='row.push(cols[j].innerText);';
par

Code : Tout sélectionner

   output +='row.push(cols[3].innerText);';
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

carlos Medina
Messages : 3
Enregistré le : 14 août 2021, 17:03

Re: Parcourir un tableau HTML

Message par carlos Medina » 16 août 2021, 12:32

Merci Webmaster.
La nouvelle ligne me permet maintenant de sélectionner la colonne désirée.
Mais la j'ai 1 petit problème:

La colonne 3 qui contient une URL ne contient plus que: http:// au lieu de: http://www.exemple.com

carlos Medina
Messages : 3
Enregistré le : 14 août 2021, 17:03

Re: Parcourir un tableau HTML

Message par carlos Medina » 16 août 2021, 12:47

Grand Merci Webmaster, tout marche comme il faut.
Merci à vous.

Répondre