2010-02-22 5 views
0

J'ai environ 40 questions sur un script Question/Anwser maintenant je veux cacher tous les autres messages puis celui avec l'id cliqué mais les fenêtres se chevauchent, Alors comment cacherais-je tous les autres ids et montrer juste un avec Javascript?Modifier l'élément CSS avec JS, JS?

Répondre

3

Les exemples suivants varient en fonction de votre structure HTML. Ils sont considérés comme des exemples, pas des solutions pour votre situation spécifique.

Changer le style d'un seul élément peut être fait assez rapidement:

document.getElementById("foo").style.display = "none"; 

Vous pouvez cacher tous les autres comme celui-ci:

var myDivs = document.getElementsByTagName("DIV"); 
for (var i = 0; i < myDivs.length; i++) { 
    if (myDivs[i].id != "foo") { 
    myDivs[i].style.display = "none"; 
    } else { 
    myDivs[i].style.display = "block"; 
    } 
} 

Si vous êtes ouvert à l'aide d'un cadre , comme jQuery, vous pourriez faire la même chose encore plus vite:

$(".question .title").click(function(){ 
$(this) 
    .next().slideDown() 
    .closest(".question").siblings() 
    .find(".body").slideUp(); 
});​ 

Démonstration en ligne de jQuery: http://jsbin.com/opisa/edit