11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour

J'ai une question dont je n'arrive pas à venir à bout.
J'ai un petit javascript dont l'intérêt est de permettre de switcher entre un texte résumé et le texte entier en cliquant sur "Lire la suite"
En cliquant sur "Lire la suite", tout marche nickel sur IE, Opera sauf sous FF. En fait j'ai vu que c'était la présence du doctype qui empêchait le déroulement. Si je le supprime, tout va bien.
Auriez-vous une idée? Smiley smile


<head>
<title></title>
<script language="JavaScript">
var etat_texte = "close";
function suite() {

	if(this.etat_texte=="close") {
	document.all.texte_entier.style.display='block';
	document.all.resume.style.display='none';
	this.etat_texte="open";
	}
	else {
	document.all.texte_entier.style.display='none';
	document.all.resume.style.display='block';
		this.etat_texte="close";
	}
}
</script>
</head>
<div id="resume" style="display:block;"> résumé <a title="Lire la suite" href="javascript:suite();">Lire la suite >></a></div>
<div id="texte_entier" style="display:none;">
texte entier</div>
salut,

je pense que l'explication tiens là :

a écrit :
L'objet all ne fait pas partie du standard du langage JavaScript officiel. C'est un ajout de Microsoft implémenté dans l'Explorer Internet MS 4.0. Certes, l'objet all fonctionne également dans des passages Script qui sont marqués "JavaScript", mais il ne s'agit cependant que d'une composante du langage JScript - la variante Microsoft de JavaScript.


que je tire de la description de all sur le site du selfhtml

sans doctype le mode quirks de FF doit s'arranger mais avec un doctype comme c'est un truc qui n'est pas du vrai javascript c'est au revoir jolie .....

bon pour regler le pb passer par le bon vieux getElementById passe-partout semble une bonne solution.


document.all.texte_entier.style.display='block';

=>
document.getElementById('texte_entier').style.display='block';