删除类和添加类 jquery
removeClass & addClass jquery
我对jquery比较陌生,尝试解决以下问题
我想做一个树状图,cf.
单击第一个类别中的项目时,会弹出第二个类别(在 div #category_2 中)。第三类也一样。随后每次点击类别 1 或 2 时,都应删除附加的第二和第三项,并附加第二和第三类别中的所选项目。
这是我在打开类别 3 (=subMenu2) 中的项目的示例中尝试的:
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 元素停止添加更多项目,但它不会删除以前添加的项目。我试图在论坛中找到合适的答案,但这没有帮助。那么,我该如何解决这个问题?
要删除之前添加的项目,您需要清空root
。
if (root.children().length > 0) {
root.removeClass('ul');
root.empty();
}
addClass("className")
removeClass("className")
如果你想隐藏一些节点,只需使用这个:
$("#someNode").hide()
我对jquery比较陌生,尝试解决以下问题
我想做一个树状图,cf.
单击第一个类别中的项目时,会弹出第二个类别(在 div #category_2 中)。第三类也一样。随后每次点击类别 1 或 2 时,都应删除附加的第二和第三项,并附加第二和第三类别中的所选项目。
这是我在打开类别 3 (=subMenu2) 中的项目的示例中尝试的:
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 元素停止添加更多项目,但它不会删除以前添加的项目。我试图在论坛中找到合适的答案,但这没有帮助。那么,我该如何解决这个问题?
要删除之前添加的项目,您需要清空root
。
if (root.children().length > 0) {
root.removeClass('ul');
root.empty();
}
addClass("className")
removeClass("className")
如果你想隐藏一些节点,只需使用这个:
$("#someNode").hide()