Bonjour à Tous,

Samedi, je faisais un peu d'esprit sur ce vieux sujet
=>
https://www.developpez.net/forums/d384620/webmasters-developpement-web/javascript-
ajax-typescript-dart/javascript/recuperer-id-d-page/


où danielhagnoul me remettait gentillement en place d'ailleurs

Force est de constater que ce code initial
=>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 function Eject(MaClassName){
	const INIT_ELT = 1; 
	if (MaClassName !="") {
		// suppression des modules pour une CLASSE donnée => MaClassName 
		var elemclass = document.getElementsByClassName(MaClassName);
		var elementsLength = elemclass.length;  
		for (var i = 0 ; i < elementsLength ; i++) {
			elemclass[i].innerHTML="";   
		}
		// suppression dans le module de contrôle MODCONT pour l'ID donné => MaClassName 
		var elemid = document.getElementById(MaClassName);
		elemid.parentNode.removeChild(elemid);  
	}	
	// Verification du nombre de lignes dans MODCONT
	var length = document.getElementById('btn-hide').getElementsByTagName('p').length;
	// Si plus rien ne reste à part une ligne d'introduction, on supprime MODCONT en utilisant sa classe => 'btn-hide'
	if (length == INIT_ELT) {
		var elemrest = document.getElementsByClassName('btn-hide');
		var elemrestLength = elemrest.length;  
		for (var j = 0 ; j < elemrestLength ; j++) {
			elemrest[j].innerHTML="";   
		}
	}
	};
gagne en clarté avec ce "nouveau" code finalement bien plus clair
=>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
 
function Eject(MaClassName){
	const INIT_ELT = 1; 
 
	if (MaClassName !="") {
		const MesElemClass = document.querySelectorAll('.'+MaClassName);
		for ( let [ i, id ] of Array.from( MesElemClass ).entries() ) {
			id.innerHTML=""
		} 
		const MonId = document.querySelectorAll('#'+MaClassName);
		for ( let [ i, id ] of Array.from( MonId ).entries() ) {
			id.parentNode.removeChild(id);
		} 
	}	
	// Verification du nombre de lignes dans MODCONT
	const LigModcont = document.querySelectorAll('div#btn-hide>p');
	var compt =0;
	var monid;
	for ( let [ i, id ] of Array.from( LigModcont ).entries() ) {
		compt=compt+1;
		monid=id;
	}
	if (compt == INIT_ELT) {
		const MesElemClass = document.querySelectorAll('.btn-hide');
		for ( let [ i, id ] of Array.from( MesElemClass ).entries() ) {
			id.innerHTML=""
		} 
	}	
 
 
	};
Eject("badgeclip-ntop");
Le but de ce code est
1) de faire disparaitre en fonction d'un paramètre XYZ
tous les élements d'une classe donnée .XYZ (bref je supprime des modules JOOMLA à l'affichage)
2)puis ensuite un ID #XYZ qui correspond à une seule ligne dans un module "maitre"

Voici le code de mon module "maitre"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<div id="btn-hide">
<p> - CHOIX OPTIONS - </p>
<p id="XYZ"</p>
<p id="YZA"</p>
<p id="ABC"</p>
etc.
</div>
3)Ensuite vérifier dans ce module "maitre" s'il nous reste encore des lignes ("YZA","ABC" etc.) à faire disparaitre
4)Si plus de lignes alors on surprime le module "Maitre"

J'espère être assez clair

Voici ma question ... ce script semble fonctionner mais
je pense que je peux encore alléger la syntaxe

ex ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
		const MonId = document.querySelectorAll('#'+MaClassName);
		for ( let [ i, id ] of Array.from( MonId ).entries() ) {
			id.parentNode.removeChild(id);
		}
Je dois supprimer une seule ligne et je fais une boucle bon ...

Est-ce que je dois garder plutôt cette syntaxe ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
var elemid = document.getElementById(MaClassName);
elemid.parentNode.removeChild(elemid);
où il y a une alternative ?

idem ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
const LigModcont = document.querySelectorAll('div#btn-hide>p');
	var compt =0;
	var monid;
	for ( let [ i, id ] of Array.from( LigModcont ).entries() ) {
		compt=compt+1;
		monid=id;
	}
Je voudrais savoir, dans ce pavé, si j'ai un SEUL élément restant à traiter ou pas et c'est tout !?
Donc là encore je suis dans une boucle mais je veux juste compter ...

Merci pour vos réponses
Ps : Attention je ne suis pas un pro du Javascript