Page 1 sur 1

Question de base sur jQuery

Posté : 06 sept. 2024, 06:02
par rosariotrim
Bonjour, je suis un peu nouveau sur jQuery et j'ai un problème où je veux extraire une liste de lignes d'un fichier csv, séparer les valeurs, les transformer en liens, puis les écrire dans mon document html. Tout fonctionne bien. Mais lorsque j'essaie de faire une boucle pour déterminer quand insérer un séparateur entre les liens, je reste bloqué. J'ai essayé tellement de choses que maintenant plus rien n'a de sens. Des idées ?

Code : Tout sélectionner

function InsertNav() {
		var dataSource = 'pages.csv';
		$.get(dataSource, function(nav) {
			var buildNav = "<div class='nav'>";
			var $rows = nav.split("\n");
			$rows.forEach(function getvalues(thisRow) {
				var columns = thisRow.split(",");
				var a = $rows.length;
				var sep;
				for (a = 0; a < a.length; a++) {
					if (a == a.length - 1) {
						sep = "";
					} else {
						sep = " | ";
					}
				}
				buildNav += "<a href='" + columns[2] + "' title='" + columns[1] + "'>" + columns[1] + "</a> ";
				buildNav += sep;
				console.log("a- " + a);
				console.log("$rows.length- " + $rows.length);
			})
			buildNav += "</div>"
			$('#nav').append(buildNav);
		});
	};

Re: Question de base sur jQuery

Posté : 09 oct. 2024, 06:38
par xenoiaten
Eggy Car helps you develop focus, as you need to watch the egg closely while controlling the car. This skill can help you stay concentrated on tasks outside of the game too.

Eggy Car

Re: Question de base sur jQuery

Posté : 28 oct. 2024, 04:59
par Patrick893
It looks like you're having a logic issue in your loop. Instead of creating a new loop to determine the separator, you shouldslope ball check if it's the last element directly within your forEach loop. Here’s a suggestion to simplify your code.

Re: Question de base sur jQuery

Posté : 04 nov. 2024, 07:52
par B Vincent
Ton projet a l'air intéressant, et je comprends que cela puisse devenir un peu confus avec les boucles. Pour ton problème d'insertion de séparateurs entre les liens, je pense que tu pourrais envisager d'utiliser un join() après ta boucle pour assembler tes liens au lieu de gérer manuellement les séparateurs.

Voici une suggestion pour ajuster ton code :

var buildNav = "<div class='nav'>";
var links = []; // tableau pour stocker les liens
$rows.forEach(function(thisRow) {
var columns = thisRow.split(",");
links.push("<a href='" + columns[0] + "'>" + columns[1] + "</a>");
});
buildNav += links.join(" | "); // ici on insère le séparateur
buildNav += "</div>";

Et au fait, si tu cherches des ressources supplémentaires pour jQuery ou même pour manipuler des fichiers CSV, d'autres sites offrent des outils et des aides intéressants pour les développeurs comme sur ce site web.

Re: Question de base sur jQuery

Posté : 05 nov. 2024, 05:57
par bradleymartin
Woah, je ne comprends rien ici :shock: Je viens de commencer à apprendre JavaScript il y a 2 semaines.