首页 > 其他分享 >createTreeWalker DOM API All In One

createTreeWalker DOM API All In One

时间:2023-08-21 14:34:45浏览次数:34  
标签:NodeFilter node SHOW DOM createTreeWalker API https document

createTreeWalker DOM API All In One

document.createTreeWalker()

createTreeWalker(root)
createTreeWalker(root, whatToShow)
createTreeWalker(root, whatToShow, filter)

https://developer.mozilla.org/en-US/docs/Web/API/Document/createTreeWalker

The TreeWalker object represents the nodes of a document subtree and a position within them.

A TreeWalker can be created using the Document.createTreeWalker() method.

https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker

const treeWalker = document.createTreeWalker(
  document.body,
  NodeFilter.SHOW_ELEMENT,
  {
    acceptNode(node) {
      return NodeFilter.FILTER_ACCEPT;
    },
  },
  false,
);
nodeFilter = treeWalker.filter; // document.body in this case

  • NodeFilter.SHOW_ALL
  • NodeFilter.SHOW_ELEMENT
  • NodeFilter.SHOW_TEXT
  • NodeFilter.SHOW_COMMENT
    ...
  • NodeFilter.SHOW_DOCUMENT
  • NodeFilter.SHOW_DOCUMENT_TYPE
  • NodeFilter.SHOW_DOCUMENT_FRAGMENT
  • NodeFilter.SHOW_PROCESSING_INSTRUCTION

https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker/filter

image

image

https://caniuse.com/?search=createTreeWalker

demos

https://codepen.io/xgqfrms/pen/eYbmBJL

const content = document.getElementById('content');
// filter
const treeWalker = document.createTreeWalker(content, NodeFilter.SHOW_TEXT);
console.log(`treeWalker =`, treeWalker);

let node;
// text
while (node = treeWalker.nextNode()) {
  console.log(`node =`, node, node.nodeValue.trim());
  pre.insertAdjacentHTML(`beforeend`, `<p>${node.nodeValue.trim()}</p>`)
}
<div id="content">
<p>This is a <span>paragraph</span> with some <em>emphasis</em>.</p>
<ul>
    <li>List item 1</li>
    <li>List item 2</li>
    <li>List item 3</li>
    <li>List item 4</li>
</ul>
</div>

(

标签:NodeFilter,node,SHOW,DOM,createTreeWalker,API,https,document
From: https://www.cnblogs.com/xgqfrms/p/17645922.html

相关文章

  • API接口的对接流程和注意事项
    ​API接口的对接流程和注意事项随着互联网技术的发展和数字化时代的到来,API接口已经成为应用程序之间进行数据交换和通信的重要方式。API即应用程序接口,是一种定义、调用和交互的规范,使得不同应用程序之间可以相互调用和共享资源。本文将从程序员的视角出发,详细介绍API接口的对......
  • Asp.net Core Web API 启动时出现报错Failed to load API definition
    1、新建的Asp.netCoreWebAPI项目启动时一般是没有问题的,如果在controller下增加多个操作后再启动会出现swagger的报错-FailedtoloadAPIdefinition,基本是由于以下两种原因,分别排查即可: (1)如上图1位置:默认webapi模板创建时只有一个方法所以没有[action] 当我们增加多个......
  • 利用pycharm创建第一个django API项目
    From:  ICT浪子 ICT浪子 2023-08-1916:34 发表于湖北---------------------------------------------------------------------------一、pycharm操作1、打开PyCharm,进入欢迎界面。2、点击"CreateNewProject"或选择"File"->"NewProject"。3、在新项目对话框中,......
  • CF1823F Random Walk 题解
    题意给定一棵由\(n\)个节点组成的树,定义每次移动的方式为等概率的移动到相邻节点上,询问从\(s\)移动到\(t\)的过程中每个点的期望经过次数。(\(1\len\le2\times10^5\))。题解定义\(f_i\)为节点\(i\)的期望经过次数,\(fa_u\)为节点\(u\)的父亲节点,\(\operatorna......
  • Java踩坑3.org.gradle.api.tasks.sourceset.getcompiloconfigurationname
    idea2018自带gradle版本4.1我改properties文件为7.5启动项目,sync时报错,如标题。解决步骤:1.我尝试更改jdk9和11都一样报错。2.我尝试改properties文件为6.4不报错。3.我仍然使用properties文件为7.5,不理会build窗口的这个错误。在右侧的gradle插件build,clean这些正常使用。......
  • 二、原生 API 的注解使用示例
    [email protected](METHOD)@Retention(RUNTIME)public@interfaceRequestLine{//请求方式+uriStringvalue();//斜线是否base64编码booleandecodeSlash()defaulttrue;//默认支持URL传多值,是通过key来传输的。形如:key=value1&......
  • Airtest1.2.7新增的14个断言API解析
    以下基于python3.8;airtestIDE1.2.14;airtest1.2.7;pocoui1.0.87Airtest1.2.7新增了14个断言API,使得断言更多丰富,之前就有的4个断言:assert_exists、assert_not_exists、assert_equal、assert_not_equal,详细可以看:AirtestAPI精讲之断言,这里就不再过多介绍。之前想断言一个变量是......
  • FastApi-1-结合sql 增/查demo
    目录FastAPI学习记录项目结构部分接口/代码展示感受全部代码FastAPI学习记录fastapi已经学习有一段时间,今天抽时间简单整理下。官网介绍:FastAPI是一个用于构建API的现代、快速(高性能)的web框架,使用Python3.6+并基于标准的Python类型提示。快速:可与NodeJS和Go......
  • python采集京东商品详情页面数据,京东API接口,京东h5st签名(2023.08.20)
    一、原理与分析1、目标页面https://item.jd.com/6515029.html  在chrome中打开,按f12键进入开发者模式,找到商品详情数据接口,如下:2、URL链接:https://api.m.jd.com/?appid=pc-item-soa&functionId=pc_detailpage_wareBusiness&client=pc&clientVersion=1.0.0&t=1692499380806&bod......
  • 第二十三节 API(算法,lambda,练习)
    常见的七种查找算法:​ 数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词,如果各位铁粉有疑惑,可以先看一下哥们后面录制的数据结构,再回头看算法。1.基本查找​ 也叫做顺序查找​说明:顺序......