我现在在一个Question / Anwser脚本上有大约40个问题,我想隐藏所有其他消息,然后单击具有ID的消息,但窗口重叠,那么我该如何隐藏所有其他ID并仅用Javascript显示一个?
最佳答案
以下示例将根据您的HTML结构而有所不同。它们仅作为示例,而不是针对您特定情况的解决方案。
更改单个元素的样式可以很快完成:
document.getElementById("foo").style.display = "none";
您可以像这样隐藏所有其他内容:
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";
}
}
如果您愿意使用jQuery之类的框架,则可以更快地执行相同的操作:
$(".question .title").click(function(){
$(this)
.next().slideDown()
.closest(".question").siblings()
.find(".body").slideUp();
});
jQuery在线演示:http://jsbin.com/opisa/edit