2011-07-27 17 views
5

我需要隱藏文檔中除「ID」之外的所有類型爲「section」的元素。如何在JavaScript中獲取特定HTML標記的所有元素?

jQuery中,這將是很容易

$("section").hide(); 
$("section#myId").show(); 

我怎麼會做這沒有jQuery的?

(我需要它在頁面加載後立即發生並且不會顯而易見)。我也需要它來跨瀏覽器工作。

謝謝。

回答

12

將在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> 
21

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"; 
} 
相關問題