JSFiddle - React, Tailwind, and code Playground
HTML
<div id="tohide0">Coucou</div>
<input type="button" id="bouton_tohide0" value = "En savoir plus ?" /><br><hr>
<div id="tohide1">la</div>
<input type="button" id="bouton_tohide1" value = "En savoir plus ?" /><br><hr>
<div id="tohide2">team</div>
<input type="button" id="bouton_tohide2" value = "En savoir plus ?" /><br><hr>
<div id="tohide3">développez!</div>
<input type="button" id="bouton_tohide3" value = "En savoir plus ?" /><br><hr>
CSS
div { display: none; height: 50px; }
JavaScript
function performDisplay(id) {
document.getElementById(id).style.display = document.getElementById(id).style.display == 'block' ? 'none' : 'block';
document.getElementById("bouton_" + id).value = document.getElementById("bouton_" + id).value == 'Fermer' ? 'En savoir plus ?' : 'Fermer';
performHide(id);
}
function performHide(id) {
for (var i=0, elem; (elem = document.getElementsByTagName('div')[i]) !== undefined; i++) {
if (elem.id != id) {
elem.style.display = 'none';
document.getElementById("bouton_" + elem.id).value = 'En savoir plus ?';
}
}
}
function makeDisplayCallback(id) {
return function() {
performDisplay(id);
};
}
for (var i=0, elem; (elem = document.getElementsByTagName('div')[i]) !== undefined; i++) {
document.getElementById("bouton_" + elem.id).onclick = makeDisplayCallback(elem.id);
}