文件:getElementsByTagNameNS() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

返回一個包含屬於指定名稱空間的具有給定標籤名稱的元素的列表。將搜尋整個文件,包括根節點。

語法

js
getElementsByTagNameNS(namespace, name)

引數

namespace

要查詢的元素的名稱空間 URI(請參閱 element.namespaceURI)。

name

要查詢的元素的本地名稱,或者特殊值 *,它匹配所有元素(請參閱 element.localName)。

注意:document.getElementsByTagName() 不同,getElementsByTagNameNS() 的引數區分大小寫。

返回值

一個動態的 HTMLCollection,包含了按在樹中出現的順序排列的已找到的元素。

示例

在下面的示例中,getElementsByTagNameNS 從一個特定的父元素開始,並從該父元素開始透過 DOM 遞迴地自頂向下搜尋,查詢匹配 name 引數的子元素。

請注意,當呼叫 getElementsByTagName 的節點不是 document 節點時,實際上使用的是 element.getElementsByTagNameNS 方法。

要使用下面的示例,只需將其複製/貼上到一個以 .xhtml 副檔名儲存的新檔案中。

html
<p>Some outer text</p>
<p>Some outer text</p>

<div id="div1">
  <p>Some div1 text</p>
  <p>Some div1 text</p>
  <p>Some div1 text</p>

  <div id="div2">
    <p>Some div2 text</p>
    <p>Some div2 text</p>
  </div>
</div>

<p>Some outer text</p>
<p>Some outer text</p>

<button id="btn1">Show all p elements in document</button>
<br />
<button id="btn2">Show all p elements in div1 element</button>
<br />
<button id="btn3">Show all p elements in div2 element</button>
css
body {
  border: solid green 3px;
}

#div1 {
  border: solid blue 3px;
}

#div2 {
  border: solid red 3px;
}
js
function getAllParaElems() {
  const allParas = document.getElementsByTagNameNS(
    "http://www.w3.org/1999/xhtml",
    "p",
  );
  const num = allParas.length;
  alert(`There are ${num} &lt;p&gt; elements in this document`);
}

function div1ParaElems() {
  const div1 = document.getElementById("div1");
  const div1Paras = div1.getElementsByTagNameNS(
    "http://www.w3.org/1999/xhtml",
    "p",
  );
  const num = div1Paras.length;
  alert(`There are ${num} &lt;p&gt; elements in div1 element`);
}

function div2ParaElems() {
  const div2 = document.getElementById("div2");
  const div2Paras = div2.getElementsByTagNameNS(
    "http://www.w3.org/1999/xhtml",
    "p",
  );
  const num = div2Paras.length;
  alert(`There are ${num} &lt;p&gt; elements in div2 element`);
}

document.getElementById("btn1").addEventListener("click", getAllParaElems);
document.getElementById("btn2").addEventListener("click", div1ParaElems);
document.getElementById("btn3").addEventListener("click", div2ParaElems);

規範

規範
DOM
# ref-for-dom-document-getelementsbytagnamens①

瀏覽器相容性

另見