根据类型更改jstree节点文本颜色

时间:2012-08-08 08:35:03

标签: javascript jquery jstree

我一直在搜索互联网一个年龄,但无法找到答案。我试图根据特定节点的类型更改节点文本颜色。因此,在此示例中,我想更改每个节点的文本颜色,这是数据中定义的“角色”类型。

    $("#roleTree").jstree({
        json_data: {
            data: roleTreeData
        },
        "themes": {
            "theme": "default",
            "dots": true,
            "icons": false
        },
        "ui": {
            "select_limit": 1,
            "select_multiple_modifier": "none"
        },
        "types": {
            "types": {
                "AM": {
                    "hover_node": false,
                    "select_node": false
                },
                "AF": {
                    "hover_node": false,
                    "select_node": false
                },
                "Role": {
// i dont know if possible to be done here? add class?
             //   this.css("color", "red")
                    //{ font-weight:bold}
                }
            }
        },

        plugins: ["themes", "json_data", "ui", "Select", "types", "crrm"]

    }).bind("loaded.jstree", function (event, data)
    {
        $("#roleTree").jstree("open_all");
         data.inst.select_node('ul > li:first');

    }).bind("select_node.jstree", function (event, data)
    {
        selectedRoleId = data.rslt.obj.attr("id");
        window.selectedRole = GetRole(selectedRoleId);              
    });
}

或任何其他方法来突出显示或告诉用户只有角色可供选择。

1 个答案:

答案 0 :(得分:7)

这可以使用以下CSS完成,假设您使用的是默认的经典主题。

.jstree-classic li[rel="Role"] > a { color:red; }

获取jstree-classic课程,其中,子li的{​​{1}}属性为rel,获取该Role的第一个孩子a并分配颜色为红色。