→、、
新しく TreeWalker オブジェクトを作成して返します。
Document | 実質 document でしょう。
| ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
root | この TreeWalker トラバーサル(¶走査?)のルート Node。通常、これはドキュメントが所有する要素になります。 | ||||||||||||||||||||||||||||||||||||||||||
whatToShow | 省略可。NodeFilter の定数プロパティを組み合わせて作成されたビットマスクを表す unsigned long。
これは、特定のタイプのノードをフィルタリングする便利な方法です。デフォルトは、SHOW_ALL 定数を表す 0xFFFFFFFF です。
| ||||||||||||||||||||||||||||||||||||||||||
filter | 省略可。NodeFilter。これはメソッド acceptNode を持つオブジェクトであり、これは、whatToShow チェックを通過したノードを受け入れるかどうかを決定するために TreeWalker によって呼び出されます。 |
新しい TreeWalker オブジェクト。
¶イテレーターのような感じ?。
次の例では、ボディ内のすべてのノードを通過します。要素ではない非ノードを除外します(`NodeFilter.SHOW_ELEMENT` 値を使用)。残りの各ノードを受け入れ可能としてマークします(acceptNode() メソッドは異なる決定を下す可能性があります)。次に、作成されたツリー ウォーカー イテレータを使用してノード(現在はすべての要素)を進み、それらを配列にプッシュします。
const treeWalker = document.createTreeWalker( document.body, NodeFilter.SHOW_ELEMENT, { acceptNode(node) { return NodeFilter.FILTER_ACCEPT; } } ); const nodeList = []; let currentNode = treeWalker.currentNode; while(currentNode) { nodeList.push(currentNode); currentNode = treeWalker.nextNode(); }
T=document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT); //document.body中の要素(Element)のみ O=T.nextNode(); //=[object]:[object HTMLScriptElement] D=O.innerText; //=LinkTop() O=T.nextNode(); //=[object]:[object HTMLSpanElement] D=O.innerText; //=↑ O=T.nextNode(); //=[object]:javascript:Tadoru() D=O.innerText; //=↑ O=T.nextNode(); //=[object]:[object HTMLHeadingElement] D=O.innerText; //=DOM O=T.nextNode(); //=[object HTMLHeadingElement] D=O.innerText; //=ドキュメント オブジェクト モデル //…
T=document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT); //上記のSPAN要素の中の Element のみ O=T.nextNode(); //=[object]:[object Text] D=O.textContent; //= O=T.nextNode(); //=[object]:[object Text] D=O.textContent; //=LinkTop() O=T.nextNode(); //=[object]:[object Text] D=O.textContent; //=↑ O=T.nextNode(); //=[object]:[object Text] D=O.textContent; //= O=T.nextNode(); //=[object]:[object Text] D=O.textContent; //=DOM O=T.nextNode(); //=[object]:[object Text] D=O.textContent; //=: O=T.nextNode(); //=[object]:[object Text] D=O.textContent; //=DW("DOM") O=T.nextNode(); //=[object]:[object Text] D=O.textContent; //=ドキュメント オブジェクト モデル //…