如何在javascript中获取特定HTML标记的所有元素?

时间:2011-07-27 10:15:03

标签: javascript

我需要隐藏文档中“section”类型的所有元素,而不是具有特定ID的元素。

在jquery中这很容易

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

如果没有jquery,我该怎么做?

(我需要它在页面加载时发生并且不会显示出来)。我还需要它跨浏览器工作。

感谢。

2 个答案:

答案 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>