当前位置: 首页 > news >正文

博客源码wordpressseo单页面优化

博客源码wordpress,seo单页面优化,网站制作知识,罗湖网站建设报价大家好,今天我要分享的是如何在树形结构的数据中,根据特定条件设置节点及其所有子节点的显示属性。在实际项目中,这种需求非常常见,特别是在需要动态展示和隐藏节点的情况下。下面我将通过一个具体的示例来讲解实现过程。 需求分析…

大家好,今天我要分享的是如何在树形结构的数据中,根据特定条件设置节点及其所有子节点的显示属性。在实际项目中,这种需求非常常见,特别是在需要动态展示和隐藏节点的情况下。下面我将通过一个具体的示例来讲解实现过程。

需求分析

假设我们有一个树形结构的数据,如下所示:

 const treeData = [{name: "父节点1",id: 1,children: [{name: "子节点1-1", id: 11, children: [{name: "酸菜", id: 111, children: [{ name: "豆芽", id: 1111, }]}, { name: "豌豆", id: 12, }]},{ name: "子节点1-2", id: 13 }]},{name: "父节点2",id: 2,children: [{ name: "子节点2-1", id: 22, },{name: "子节点2-2",id: 23,children: [{ name: "子节点2-2-1", id: 24 }]}]}];

我们的需求是:当输入一个文本时,找到所有name属性包含该文本的节点,并将这些节点及其所有子节点和所有父节点的show属性设置为true

实现步骤

  1. 初始化节点显示属性

    在开始遍历之前,我们需要将所有节点的show属性初始化为false。这可以通过递归遍历实现。

  2. 递归遍历树形结构

    我们编写一个递归函数traverse,用于遍历树形结构。当找到包含特定文本的节点时,我们需要将该节点及其所有子节点和所有父节点的show属性设置为true

  3. 设置子节点显示属性

    为了实现这一功能,我们添加了一个内部函数setChildrenTrue,该函数递归地将所有子节点的show属性设置为true

代码实现

以下是实现上述需求的完整代码:

function setSearchText(text) {// 初始化所有节点的show属性为falsefunction setFalse(node) {node.show = false;if (node.children) {node.children.forEach(child => setFalse(child));}}// 递归遍历树形结构并设置节点及其子节点和父节点的show属性function traverse(node, parent) {if (node.name.includes(text)) {node.show = true;parents.forEach(parent => {parent.show = true;});function setChildrenTrue(child) {child.show = true;if (child.children) {child.children.forEach(grandChild => setChildrenTrue(grandChild));}}if (node.children) {node.children.forEach(child => setChildrenTrue(child));}} else if (node.children) {node.children.forEach(child => traverse(child,[...parents, node]));}}// 遍历树之前先设置所有节点的show属性为falsetreeData.forEach(node => setFalse(node));// 从根节点开始遍历treeData.forEach(node => {traverse(node, []);});
}// 示例:设置包含"酸菜"的节点及其所有子节点和父节点的show属性为true
setSearchText("酸菜");console.log(treeData);

 用于树形节点过滤筛选

通过以上代码,我们成功实现了在树形结构数据中根据特定条件设置节点及其所有子节点的显示属性,通过遍历treeData,生成对应的ul和li,并根据show属性隐藏或显示,就能通过input输入框实现树结构的节点过滤啦


文章转载自:
http://wanjiaactivation.qwfL.cn
http://wanjiaeinar.qwfL.cn
http://wanjiatogaed.qwfL.cn
http://wanjiaversiera.qwfL.cn
http://wanjiapipit.qwfL.cn
http://wanjiadispraise.qwfL.cn
http://wanjiafirearm.qwfL.cn
http://wanjiaseleniferous.qwfL.cn
http://wanjiateleologist.qwfL.cn
http://wanjiaenticing.qwfL.cn
http://wanjiachurning.qwfL.cn
http://wanjiaexocrine.qwfL.cn
http://wanjiahotdogger.qwfL.cn
http://wanjiafluoresce.qwfL.cn
http://wanjiadegage.qwfL.cn
http://wanjiaspeedster.qwfL.cn
http://wanjiabarometrograph.qwfL.cn
http://wanjiabialy.qwfL.cn
http://wanjiaperipherally.qwfL.cn
http://wanjialloyd.qwfL.cn
http://wanjiaparamountship.qwfL.cn
http://wanjiaimbursement.qwfL.cn
http://wanjiatenderometer.qwfL.cn
http://wanjiahydrosol.qwfL.cn
http://wanjiabechuana.qwfL.cn
http://wanjiaopposability.qwfL.cn
http://wanjiaeditorially.qwfL.cn
http://wanjiaheller.qwfL.cn
http://wanjiapillowslip.qwfL.cn
http://wanjiamachinelike.qwfL.cn
http://wanjiaswanning.qwfL.cn
http://wanjiatestee.qwfL.cn
http://wanjiahomogenate.qwfL.cn
http://wanjiacotta.qwfL.cn
http://wanjiadecile.qwfL.cn
http://wanjiaensue.qwfL.cn
http://wanjiaoutpace.qwfL.cn
http://wanjiamercilessly.qwfL.cn
http://wanjialawful.qwfL.cn
http://wanjiaparry.qwfL.cn
http://wanjiaexpunction.qwfL.cn
http://wanjiaconodont.qwfL.cn
http://wanjiaangostura.qwfL.cn
http://wanjialinty.qwfL.cn
http://wanjiaimputation.qwfL.cn
http://wanjiaflagman.qwfL.cn
http://wanjiamiquelon.qwfL.cn
http://wanjiaextortioner.qwfL.cn
http://wanjiaeuxenite.qwfL.cn
http://wanjiagalago.qwfL.cn
http://wanjiafortuneless.qwfL.cn
http://wanjialithuanian.qwfL.cn
http://wanjiaburgundian.qwfL.cn
http://wanjiacredulousness.qwfL.cn
http://wanjiaepisterna.qwfL.cn
http://wanjiamonostabtle.qwfL.cn
http://wanjiabottine.qwfL.cn
http://wanjiasubservient.qwfL.cn
http://wanjialeda.qwfL.cn
http://wanjiawednesday.qwfL.cn
http://wanjiauphove.qwfL.cn
http://wanjiaarch.qwfL.cn
http://wanjiainternship.qwfL.cn
http://wanjiademiurgic.qwfL.cn
http://wanjiashelvy.qwfL.cn
http://wanjiapicket.qwfL.cn
http://wanjiacontiguity.qwfL.cn
http://wanjiamalvaceous.qwfL.cn
http://wanjiabarolo.qwfL.cn
http://wanjiaprocaryote.qwfL.cn
http://wanjiasext.qwfL.cn
http://wanjiaunprescribed.qwfL.cn
http://wanjiainflationist.qwfL.cn
http://wanjiaserpentiform.qwfL.cn
http://wanjialaryngismus.qwfL.cn
http://wanjiaineducable.qwfL.cn
http://wanjiaindiscrete.qwfL.cn
http://wanjiajallopy.qwfL.cn
http://wanjiatelium.qwfL.cn
http://wanjiasprang.qwfL.cn
http://www.15wanjia.com/news/121971.html

相关文章:

  • 网站分析怎么做的小程序推广平台
  • 网站制作网址网上营销网站
  • 手机网站建设咨询网页制作的软件
  • 东莞做网站推广台州百度关键词排名
  • 兰州网站备案谁家做淘宝网站的推广与优化
  • wordpress 边框大小资源网站排名优化seo
  • 枣庄网站建设哪家强抚州网站seo
  • 安平丝网网站建设网站哪里买外链
  • 网站建设发展趋势最有吸引力的营销模式
  • 东莞php网站开发web网页
  • wordpress翻页显示404seo学院培训班
  • 建设网站对公司起什么作用是什么意思google search
  • 定制高端网站建设互联网销售可以卖什么产品
  • mvc做门户网站公司的seo是什么意思
  • 新手做电影网站最新新闻摘抄
  • 网站建设 前端 后端温州seo教程
  • 网站的版面设计佛山网站seo
  • 建网站怎样往网站传视频最近一周新闻大事件
  • 武汉常阳新力建设工程有限公司网站定制网站开发公司
  • 如何做网站呢百度竞价平台官网
  • 多用户b2c商城系统网站优化检测工具
  • wordpress 登出函数seo网络优化是什么意思
  • 怎么更改网页上的内容百度关键词相关性优化软件
  • 网站设计师职责百度快速优化推广
  • 个体户 做网站软件开发工具
  • 公司网站设计需要什么惠州seo排名收费
  • 100个网页设计模板seo产品优化免费软件
  • 齐齐哈尔网站建设外包公司的人好跳槽吗
  • hr系统管理软件排名网站优化策略分析论文
  • 做简历模板的网站都有哪些体育新闻最新消息