IFE-TASK25(任务二十五:JavaScript和树(四))

来源:互联网 发布:在华生活的日本人 知乎 编辑:程序博客网 时间:2024/05/17 16:45

前言:

百度前端技术学院,任务二十五: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:点击打开链接

阅读全文
0 0