11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Voila, je souhaite faire disparaitre mon span lorsque que le "div class="fichetexte" est vide. Voici mon code HTML ==>

<div class="ficheTexte">
				Nulla facilisi. In vel sem. Morbi id urna in diam dignissim feugiat. Proin molestie tortor eu velit. Aliquam erat volutpat. Nullam ultrices, diam tempus vulputate egestas, eros pede varius leo, sed imperdiet lectus est ornare odio. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pro..
<span class="ficheAuteur">&nbsp;•&nbsp;administrateur, le 08/01/2010&nbsp;•&nbsp;</span>
</div>


voici le code mootools essayé ==>




$$('.ficheAuteur').each(function(value){
		
		if (value.getParents().length == 0)
		value.setStyle('display', 'none');
		
		});


Mais ça ne fonctionne pas, Quelqu'un aurais une idée ?
Modérateur
Salut zenka, bienvenue sur Alsacréations ! Smiley jap

La méthode getParents te renvoie une collection des noeuds parents, ce qui ne semble pas correspondre à ton besoin. La méthode getParent devrait te suffire.

Par ailleurs, tu ne mesures pas la longueur du contenu de l'élément mais l'élément en lui-même, ce qui n'a pas de sens. Le plus simple, pour en mesurer le contenu, est donc de faire la même opération sur la propriété "innerHTML" de cet élément ou bien sur le (ou les) noeuds texte qui se trouvent en son sein.

A noter qu'apparemment, ton soucis reflète un soucis de conception. Tu ne devrais pas avoir à cacher ce contenu via CSS/JS car cela nuit à tous ceux qui ne se trouvent pas dans la configuration requise. Il suffirait simplement, côté serveur, de ne pas renvoyer ton span lorsque tu ne transmets aucun contenu au sein de ta div.
Merci Koala pour ta réponse. Je n'ai pas la main sur le serveur mais j'avais pas penser à faire de même sur InnerHTML.

Je test ça demain Smiley smile