首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >removeClass & addClass jquery

removeClass & addClass jquery
EN

Stack Overflow用户
提问于 2017-12-21 09:02:02
回答 2查看 1.4K关注 0票数 2

我是jquery的新手,正在尝试解决以下问题

我想要构建一个树形图,cf。

当单击第一个类别中的项目时,会弹出第二个类别(在div #category_2中)。第三类也是如此。每次点击类别1或类别2都应该删除附加的第二和第三项,并从第二和第三类别中附加所选的项目。

以下是我在打开类别3(=subMenu2)中的项目的示例中尝试的内容:

代码语言:javascript
运行
复制
function makeType(subMenu2, root) {
  if (typeof root === 'undefined') {
    root = $('#category_3');
  }

  var ul = $("<ul></ul>");

  if (root.children().length > 0) {
    root.removeClass(ul)
  }
 
  root.append(ul);

  for (var k = 0; k < subMenu2.length; k++) {
    var li = $("<li class='category-selection-list-item is-subleaf'></li>");
    ul.append(li);
    var a = $("<a href='#' data-param='" + array[array_i].subMenu[submenu_i].subMenu2[k].param + "'>" + array[array_i].subMenu[submenu_i].subMenu2[k].type + "</a>");
    li.append(a);
    console.log(k);
  }
}

尽管removeClass元素停止添加更多项,但它不会删除以前添加的项。我试图在论坛上找到一个合适的答案,但这没有帮助。那么,我该如何解决这个问题呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-21 09:10:44

要删除之前添加的项目,您需要清空root

代码语言:javascript
运行
复制
if (root.children().length > 0) {
    root.removeClass('ul');
    root.empty();
}
票数 3
EN

Stack Overflow用户

发布于 2017-12-21 09:17:49

代码语言:javascript
运行
复制
addClass("className") 
removeClass("className")

如果你想隐藏一些节点,只需使用以下命令:

代码语言:javascript
运行
复制
 $("#someNode").hide()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47916472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档