11488 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je suis totalement débutant.
J'ai trouvé un script qui me convient, j'arrive a le modifier mais je bloque sur une ligne en jQuery.
Je souhaite avoir cette ligne de code en JS. Mais là je sèche.
Le but es d'avoir un fichier qui n'utilise pas jQuery (car il faut un accès internet pour le lien vers le fichier jQuery.min.js)

Voici le code :
var count = $('.table').children('tbody').children('tr:first-child').children('td').length;


Cordialement
Jérôme
Salut
Je rejoint ChrisLebure, oui on peut effectivement télécharger le fichier jquery qui sera intégrer physiquement dans les fichiers de ton site, comme tout script js.

Sinon voici le javascript :

const table = document.querySelector('.table');
const tbody = table.querySelector('tbody');
const firstRow = tbody.querySelector('tr:first-child');
const cells = firstRow.querySelectorAll('td');
const count = cells.length;

Modifié par JENCAL (18 Jan 2024 - 16:25)
Modérateur
Ou d'un coup Smiley cligne
let count = document.querySelectorAll('.table  tbody tr:first-child td').length;

Cdt
Modérateur
Bonjour,

Bien que pédagogiquement, les propositions de jencal et gcyrillus soient meilleures car plus proches de la (vraiment pas terrible) ligne jquery qu'on essaie de reproduire, on devrait pouvoir se contenter de :
let count = document.querySelectorAll('.table :first-child>td').length;
Amicalement,
Merci beaucoup.
çà fonctionne parfaitement.
J'avais suivi le même résonnement que Jencal. Mais mon erreur étais de faire "querySelector" sur "td" au lieu de "querySelectorAll". et aussi de m'obstiner sur ".children".
Cordialement
Jérôme
parsimonhi a écrit :
Bonjour,

Bien que pédagogiquement, les propositions de jencal et gcyrillus soient meilleures car plus proches de la (vraiment pas terrible) ligne jquery qu'on essaie de reproduire, on devrait pouvoir se contenter de :
let count = document.querySelectorAll('.table :first-child>td').length;
Amicalement,


Salut

ça m'intéresse, pourquoi "vraiment pas terrible" ? Smiley smile
Administrateur
Tu (en)chaînes 4 ou 5 méthodes alors qu'un sélecteur bien choisi permet de se passer de tous ces .children().
Et le sélecteur est bien plus facile à relire, probablement optimisé par jQuery et/ou le moteur JS du navigateur.
Modérateur
Bonjour,

Felipe a écrit :
Tu (en)chaînes 4 ou 5 méthodes alors qu'un sélecteur bien choisi permet de se passer de tous ces .children().

+1

C'est exactement ça.

Amicalement,