Baseline Widely available
Document.createNodeIterator()
ã¡ã½ããã¯ãæ°ãã NodeIterator
ãªãã¸ã§ã¯ããè¿ãã¾ãã
createNodeIterator(root)
createNodeIterator(root, whatToShow)
createNodeIterator(root, whatToShow, filter)
弿°
root
NodeIterator
ã®æ¢ç´¢ã®éå§å°ç¹ã«ãªãã«ã¼ããã¼ãã§ãã
whatToShow
çç¥å¯
ãªãã·ã§ã³ã® unsigned long
å¤ã§ã NodeFilter
ã®å®æ°ããããã£ãçµã¿åããã¦ä½ãããããããã¹ã¯ã表ãã¾ãã ããã¯ç¹å®ã®ç¨®é¡ã®ãã¼ããçµãè¾¼ã¿ããã®ã«ä¾¿å©ãªæ¹æ³ã§ããæ¢å®å¤ã¯ 0xFFFFFFFF
ã§ã SHOW_ALL
宿°ã表ãã¾ãã
NodeFilter.SHOW_ALL
4294967295
(ããªãã¡ unsigned long
ã®æå¤§å¤) ãã¹ã¦ã®ãã¼ãã表ãã¾ãã NodeFilter.SHOW_ATTRIBUTE
鿍奍; 2
屿§ Attr
ãã¼ãã表ãã¾ããããã¯ã Attr
ãã¼ããã«ã¼ãã¨ã㦠NodeIterator
ã使ããå ´åã«ã®ã¿æå³ãæã¡ã¾ãããã®å ´åããã®å±æ§ãã¼ããåå¾©ãæ¢ç´¢ã®æåã®ä½ç½®ã«ç¾ãããã¨ãæå³ãã¾ãã屿§ã¯ä»ã®ãã¼ãã®åã§ã¯ãªãã®ã§ãææ¸ããªã¼ãæ¢ç´¢ãã¦ãç¾ãã¾ããã NodeFilter.SHOW_CDATA_SECTION
鿍奍; 8
CDATASection
ãã¼ãã表ãã¾ãã NodeFilter.SHOW_COMMENT
128
Comment
ãã¼ãã表ãã¾ãã NodeFilter.SHOW_DOCUMENT
256
Document
ãã¼ãã表ãã¾ãã NodeFilter.SHOW_DOCUMENT_FRAGMENT
1024
DocumentFragment
ãã¼ãã表ãã¾ãã NodeFilter.SHOW_DOCUMENT_TYPE
512
DocumentType
ãã¼ãã表ãã¾ãã NodeFilter.SHOW_ELEMENT
1
Element
ãã¼ãã表ãã¾ãã NodeFilter.SHOW_ENTITY
鿍奍; 32
å¤ãå¤ã§ããã使ç¨ã§ãã¾ããã NodeFilter.SHOW_ENTITY_REFERENCE
鿍奍; 16
å¤ãå¤ã§ããã使ç¨ã§ãã¾ããã NodeFilter.SHOW_NOTATION
鿍奍; 2048
å¤ãå¤ã§ããã使ç¨ã§ãã¾ããã NodeFilter.SHOW_PROCESSING_INSTRUCTION
64
Shows ProcessingInstruction
nodes. NodeFilter.SHOW_TEXT
4
Text
ãã¼ãã表ãã¾ãã
filter
çç¥å¯
ã³ã¼ã«ããã¯é¢æ°ã¾ã㯠acceptNode()
ã¡ã½ãããæã¤ãªãã¸ã§ã¯ãã§ãããã®é¢æ°ã¾ãã¯ã¡ã½ããã¯ããã®é¢æ°ã¾ãã¯ã¡ã½ããã¯ããµãããªã¼å
ã®åãã¼ãã®ãã¡ whatToShow ãã©ã°ã§å«ã¾ããã¨åãå
¥ãããããã¼ãã«å¯¾ãã¦å¼ã³åºãããå復å¯è½ãªãã¸ã§ã¯ãã®ãªã¹ãã«è¨è¼ãããã©ãããæ±ºå®ãã¾ãããã®ã¡ã½ãã㯠NodeFilter.FILTER_ACCEPT
ãNodeFilter.FILTER_REJECT
ãNodeFilter.FILTER_SKIP
ã®ãããããè¿ãå¿
è¦ãããã¾ããä¾ãåç
§ãã¦ãã ããã
æ°ãã NodeIterator
ãªãã¸ã§ã¯ãã§ãã
const nodeIterator = document.createNodeIterator(
document.body,
NodeFilter.SHOW_ELEMENT,
(node) =>
node.nodeName.toLowerCase() === "p"
? NodeFilter.FILTER_ACCEPT
: NodeFilter.FILTER_REJECT,
);
const pars = [];
let currentNode;
while ((currentNode = nodeIterator.nextNode())) {
pars.push(currentNode);
}
åãåä½ã§ãããacceptNode()
ã¡ã½ãããæã¤ãªãã¸ã§ã¯ãã使ç¨ãã¦ãã¾ãã
const nodeIterator = document.createNodeIterator(
document.body,
NodeFilter.SHOW_ELEMENT,
{
acceptNode(node) {
return node.nodeName.toLowerCase() === "p"
? NodeFilter.FILTER_ACCEPT
: NodeFilter.FILTER_REJECT;
},
},
);
const pars = [];
let currentNode;
while ((currentNode = nodeIterator.nextNode())) {
pars.push(currentNode);
}
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4