Document: getElementsByTagName() ã¡ã½ãã
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
getElementsByTagName 㯠Document ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã¡ã½ããã§ãæå®ãããã¿ã°åãæã¤è¦ç´ ã® HTMLCollection ãè¿ãã¾ãã
ã«ã¼ããã¼ããå«ããææ¸å
¨ä½ãæ¤ç´¢ããã¾ããè¿ããã HTMLCollection ã¯çãããã®ã§ãããã¤ã¾ã document.getElementsByTagName() ãå度å¼ã³åºããªãã¦ã DOM ããªã¼ã¨åæãåãç¶ãããããèªåçã«èªåèªèº«ãæ´æ°ãã¾ãã
æ§æ
getElementsByTagName(name)
弿°
name-
è¦ç´ ã®ååã表ãæååãç¹å¥ãªæåå
*ã¯ãã¹ã¦ã®è¦ç´ ã表ãã¾ãã
è¿å¤
çãã HTMLCollection ã§ãããè¦ã¤ãã£ãè¦ç´ ãããªã¼ã«åºç¾ããé ã«ä¸¦ãã§ãã¾ãã
ã¡ã¢:
ææ°ã® W3C 仿§æ¸ ã§ã¯è¿å¤ã¯ HTMLCollection ã§ãããããã WebKit ãã©ã¦ã¶ã¼ã§ã¯ãã®ã¡ã½ãã㯠NodeList ãè¿ãã¾ãã詳ãã㯠Firefox ãã° 14869 ãè¦ã¦ãã ããã
ä¾
以ä¸ã®ä¾ã§ã¯ã getElementsByTagName() ã¯ç¹å®ã®è¦ªè¦ç´ ããéå§ãããã®è¦ªè¦ç´ ãã DOM ãä¸ããä¸ã¸å帰çã«æ¤ç´¢ããã¿ã°ã name 弿°ã¨ä¸è´ããåè¦ç´ ãæ¢ãã¾ãããã㯠document.getElementsByTagName()ãããã³æ©è½çã«åç㪠Element.getElementsByTagName() ã¯ã DOM ããªã¼å
ã®ç¹å®ã®è¦ç´ ããæ¤ç´¢ãå§ãããã¨ã示ãã¾ãã
ãã¿ã³ãã¯ãªãã¯ãã㨠getElementsByTagName() ã使ç¨ãã¦ãç¹å®ã®è¦ª (ææ¸èªä½ã¾ã㯠2 ã¤ã® <div> è¦ç´ ã®ä½ããã«å²ã¾ãããã®) ã®åå«ã®æ®µè½è¦ç´ ãæ°ãã¾ãã
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>getElementsByTagName ã®ä¾</title>
<script>
function getAllParaElems() {
const allParas = document.getElementsByTagName("p");
const num = allParas.length;
alert(`ãã®ææ¸ã«ã¯ ${num} åã®æ®µè½ãããã¾ã`);
}
function div1ParaElems() {
const div1 = document.getElementById("div1");
const div1Paras = div1.getElementsByTagName("p");
const num = div1Paras.length;
alert(`#div1 ã«ã¯ ${num} åã®æ®µè½ãããã¾ã`);
}
function div2ParaElems() {
const div2 = document.getElementById("div2");
const div2Paras = div2.getElementsByTagName("p");
const num = div2Paras.length;
alert(`#div2 ã«ã¯${num} åã®æ®µè½ãããã¾ã`);
}
</script>
</head>
<body style="border: solid green 3px">
<p>å¤é¨ã®ããã¹ã</p>
<p>å¤é¨ã®ããã¹ã</p>
<div id="div1" style="border: solid blue 3px">
<p>div1 ã®ããã¹ã</p>
<p>div1 ã®ããã¹ã</p>
<p>div1 ã®ããã¹ã</p>
<div id="div2" style="border: solid red 3px">
<p>div2 ã®ããã¹ã</p>
<p>div2 ã®ããã¹ã</p>
</div>
</div>
<p>å¤é¨ã®ããã¹ã</p>
<p>å¤é¨ã®ããã¹ã</p>
<button onclick="getAllParaElems();">
ææ¸å
ã®ãã¹ã¦ã® p è¦ç´ ã表示
</button>
<br />
<button onclick="div1ParaElems();">
div1 è¦ç´ å
ã®ãã¹ã¦ã® p è¦ç´ ã表示
</button>
<br />
<button onclick="div2ParaElems();">
div2 è¦ç´ å
ã®ãã¹ã¦ã® p è¦ç´ ã表示
</button>
</body>
</html>
ã¡ã¢
HTML ææ¸ä¸ã§å¼ã³åºãããå ´åã getElementsByTagName() ã¯å¦çåã«å¼æ°ãå°æåã«å¤æãã¾ãããã㯠HTML ææ¸å
ã®ãµãããªã¼ã«ãããã£ã¡ã«ã±ã¼ã¹ã® SVG è¦ç´ ã«ä¸è´ããããã¨ããå ´åã«ã¯æã¾ããããã¾ããã
ãã®å ´å㯠document.getElementsByTagNameNS() ã便å©ã§ãã Firefox ãã° 499656 ãåç
§ãã¦ãã ããã
document.getElementsByTagName() ã¯ãæ¤ç´¢ãææ¸å
¨ä½ãå«ãã¨ããç¹ä»¥å¤ã¯ Element.getElementsByTagName() ã¨é¡ä¼¼ãã¦ãã¾ãã
仿§æ¸
| 仿§æ¸ |
|---|
| DOM > # ref-for-dom-document-getelementsbytagnameâ > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
Element.getElementsByTagName()document.getElementById():idã«ãã£ã¦æ¤ç´¢ããè¦ç´ ã¸ã®åç §ãè¿ãdocument.getElementsByName():nameã«ãã£ã¦æ¤ç´¢ããè¦ç´ ã¸ã®åç §ãè¿ãdocument.querySelector():'div.myclass'ã®ãã㪠CSS ã»ã¬ã¯ã¿ã¼ã«ãã£ã¦è¦ç´ ã¸ã®åç §ãè¿ã