getElementsByTagNameNS
12823 ワード
getElementByIdを入力すると自動的に完了し、たまたまgetElementsByTagNameNSが見えてきました.
私はTagNameを知っていますが、NSは何ですか...?
NSはNameSpaceの略です
では、ネーミングスペースとは何でしょうか.
ウィキペディア
ネーミングスペースまたはネーミングスペース(Namespace)は、オブジェクトを区別できる範囲です.通常、1つのネーミングスペースでは、1つの名前が1つのオブジェクトのみを指すことができます.
何を言っているのかわからない
1時間以上探した結果、私のやり方で説明すると
ネームスペース.
李舒玄は会社に3人います.
区別のためにチーム名をつければいい.
開発チームの李舒玄.
デザインチームの李舒玄.
企画チームを李舒玄に分ける.
私を「開発チーム李舒玄」と呼んだとき.
あなたが誰を呼んでいるか知っているので、混乱は起こりません.
これがネーミングスペースだと思います.
別の例
同じ名前のファイルが2つあります
使うときに何がほしいか分からないからです.
それらを別のフォルダに置いて使用することができます.
すなわち,1というフォルダのindexに入る.htmlファイルを書き込むかどうか
2というフォルダのindexに入ります.htmlファイルを書くことを決めたときです.
まだあります.
html xmlns=“http://www.w3.org/1999/xhtml”ここにもnsがあります
そして、私がよく使うsvgラベルも追加しました.
svg xmlns="http://www.w3.org/2000/svg "
svgはxmlベースのグラフィックです
この言葉.
xmlという名前のネーミングスペース(=フォルダ)を取得し、svgタグ(=ファイル)を取得します.
使うと理解すればいいのでしょうか…?
正しいかどうかはわかりませんが.
同様に、Jクエリを使用する場合
script src="http://code.jquery.com/jquery-latest.min.js“”。を適用
それほど悪くないでしょう...
では、どのように使いますか.
ドキュメントまたは要素.getElementsByTagNameNS(namespaceURI, name);書けばいい
URI(Uniform Resource Identifier)は、インターネットリソースを識別する文字列である.最も一般的なURIはインターネットドメインアドレスを識別するURLである.このNamespaceを宣言するときにURIを使用する理由は、一意の名前を付けるためです.通常、ネーミングスペース情報を含むページが使用されます.
名前空間URIの位置は以下のとおりである.
ネームスペースURIタイプを含むDOMString.
すべてのネーミングスペースに一致する特殊な値「」を追加できます.
nameの場所は次のとおりです.
nameタイプを含むDOMString.
すべてのローカル名に一致する特殊な値「」を追加できます.
他の言語では使い方がありますが、よくわかりませんので、mdnの例を示します.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>getElementsByTagNameNS example</title>
<script type="text/javascript">
function getAllParaElems()
{
var allParas = document.getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "p");
var num = allParas.length;
alert(num);
}
function div1ParaElems()
{
// var div1 = document.getElementById("div1");
// var div1Paras = div1.getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "p");
// 위 두줄이랑 똑같이 출력됨
// 모든 엘리먼트에 일치하는 특별 값 * 을 넣을 수도 있다
// var div1 = document.getElementsByTagNameNS("*", "div");
var div1 = document.getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "div");
var div1Paras = div1[0].getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "p");
// HTMLCollection 을 반환하기 때문에 div1[0]으로 적었다
var num = div1Paras.length;
alert(num);
}
</script>
</head>
<body style="border: solid green 3px">
<p>Some outer text</p>
<p>Some outer text</p>
<div id="div1" style="border: solid blue 3px">
<p>Some div1 text</p>
<p>Some div1 text</p>
<p>Some div1 text</p>
</div>
<p>Some outer text</p>
<p>Some outer text</p>
<button onclick="getAllParaElems();">
show all p elements in document</button><br />
<button onclick="div1ParaElems();">
show all p elements in div1 element</button>
</body>
</html>
mdnでコピーする場合はxhtml拡張子を使用する必要がありますが、わかりません.htmlの結果も同じです上記の例では、混同すべきではないのは
documnet.getElementsByTagNameNSと
element.getElementsByTagNamemens
相違点
element.getElementsByTagNameNSは、検索を指定した要素の子に制限します.
除外するとdocumentgetElementsByTagNameNSと同様
(名前空間URI,name)の位置に「✩」を置くこともできます.
document.getElementsByTagNamess
すべての要素
element.getElementsByTagNamess
ノードを含まずにすべてのサブエレメントをインポートできます.
もちろん(「index.html」,「p」);もちろん何も出てこない
恥ずかしながら名前空間URIの概念がわかりません.
すみません.
Reference
この問題について(getElementsByTagNameNS), 我々は、より多くの情報をここで見つけました https://velog.io/@hamkke/getElementsByTagNameNSテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol