我需要隐藏文档中“section”类型的所有元素,而不是具有特定ID的元素。
在jquery中这很容易
$("section").hide();
$("section#myId").show();
如果没有jquery,我该怎么做?
(我需要它在页面加载时发生并且不会显示出来)。我还需要它跨浏览器工作。
感谢。
答案 0 :(得分:22)
DOMElement.getElementsByTagName
是你的朋友:
var sections = document.getElementsByTagName('section');
var mySection = null;
for(var i = 0; i < sections.length; ++i) {
if(sections[i].id === "myId") {
mySection = sections[i];
mySection.style.display = "block";
break;
}
sections[i].style.display = "none";
}
答案 1 :(得分:14)
将以下内容放在&lt; / body&gt;之前。在您的HTML中
<script>
(function () {
for(var els = document.getElementsByTagName ('section'), i = els.length; i--;)
els[i].id !== "myId" && (els[i].style.display = "none");
}) ();
</script>
或“现代”(HTML5)浏览器:
<script>
[].forEach.call (document.querySelectorAll ('section'),
function (el) { el.id !== "myId" && (el.style.display = "none"); })
</script>