Bonjour,
J'ai un site en drupal 8, sur lequel j'ai ajouté une fonction js afin de cacher des boutons selon leurs états.

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
33
window.jQuery = window.$ = jQuery;
$(document).ready(function(){
 
	var paragraphs;
	var elemsUnflag;
	var elemsFlag;
 
    var paragraphs = document.getElementsByClassName('paragraph--type--doodle');
	console.log(paragraphs);
 
	for (let i=0; i<paragraphs.length;i++) {		
 
		 // pour chaque paragraphe si il existe un flag "action-unflag" alors dans ce paragraph display.none pour tous les flags "action-flag"
 
		  var elemsUnflag = paragraphs[i].getElementsByClassName('action-unflag');
		  console.log(elemsUnflag);
 
		   if (elemsUnflag.length>0) {
 
			    var elemsFlag = paragraphs[i].getElementsByClassName('action-flag');			
				for (let j=0; j<elemsFlag.length;j++) {
 
					 if (elemsFlag[j].style.display != 'none') {						 
						  elemsFlag[j].style.display = 'none'; 
					}  
				}
		  } 
    }
 
 
 
}
)
le problème :
Ca fonctionne très bien quand je suis loggé en administrateur, mais si je suis juste utilisateur du site ça ne fonctionne pas....
quand je regarde la console au niveau du code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
console.log(elemsUnflag);
les résultats affichés sont différents :

en admin :
HTMLCollection*[div.flag.flag-disponible.js-flag-disponible-18.action-unflag]
HTMLCollection*[div.flag.flag-disponible.js-flag-disponible-27.action-unflag]
HTMLCollection*[div.flag.flag-indisponible.js-flag-indisponible-28.action-unflag]
HTMLCollection*[div.flag.flag-indecis.js-flag-indecis-29.action-unflag]
quand j'ouvre un html collection :
HTMLCollection [div.flag.flag-disponible.js-flag-disponible-18.action-unflag]
0: div.flag.flag-disponible.js-flag-disponible-18.action-unflag
length: 1
utilisateur lambda :
HTMLCollection*[]
HTMLCollection*[]
HTMLCollection*[]
HTMLCollection*[]
quand j'ouvre un html collection :
HTMLCollection []
0: div.flag.flag-disponible.js-flag-disponible-18.action-unflag
length: 1
J'ai essayer en remplaçant getElementsByClassName par querySelectorAll mais c'est exactement pareil...
Pouvez vous m'expliquer pourquoi ????
Merci !