前言:
百度前端技术学院,任务二十五:JavaScript和树(四)
知识点:
1)通过ajax引入json数据并用eval解析
2)通过控制对应节点的class来改变箭头,通过改变display:none来显示或隐藏节点下的,通过childNodes来选中所有子节点
3)通过appendChild来新增节点,每个节点都需createElement包括ul、li、i、a
4)通过removeChild来移除节点
5)遍历树,深度搜索
var traverse = []; //存放遍历结果
//遍历树
function preOrder(tree) {
if (tree !== null) {
traverse.push(tree);
for (var i = 0; i < tree.children.length; i++) {
preOrder(tree.children[i]);
}
}
}
6)搜索树
,深度搜索
var searchResult=[]; //存放搜索结果
var tag = true; //标记是否搜索到,搜索到为false
function searchTree(tree, content) {
if (tree !== null) {
var equal = (tree.firstElementChild.lastElementChild.innerHTML === content);
if(equal){
searchResult.push(tree);
tag = false;
}
for (var i = 1; i < tree.children.length; i++) {
searchTree(tree.children[i], content);
}
}
}
代码地址:点击打开链接
DEMO:点击打开链接