2011-07-27 4 views
5

特定のIDを持つ文書とは別に、文書内の「セクション」タイプの要素をすべて非表示にする必要があります。 jqueryのでjavascriptで特定のHTMLタグのすべての要素を取得するにはどうすればよいですか?

これは、私はjqueryのせずにこれを行うだろうか

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

簡単だろう?

(私はそれがページが読み込まれ、目立たないようにすぐに起こる必要があります)。私はまた、クロスブラウザで動作する必要があります。

ありがとうございました。

答えて

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"; 
} 
関連する問題