Как вы форматируете элементы li и DOM в jsTree, устанавливая их класс?

По сути, у меня есть jsTree, и мне нужно отформатировать его элементы DOM li и a, добавив собственный класс к каждому типу. В документации не ясно, как это сделать, и, насколько я могу судить, нет возможности добавить пользовательский класс, любое форматирование должно осуществляться путем переопределения темы jquery или редактирования исходного кода jsTree. Я согласен делать это либо в данных JSON, либо, что более эффективно, при объявлении «типов», как показано в примере здесь:

            $("#container").jstree({
                "plugins" : ["themes", "json_data", "ui", "themeroller", "types"],
                "json_data" : {"data": my_json_data},
                "core" : { 
                    "initially_select" : [ init_id] 
                },
                "types" : {
                    "valid_children" : [ "test_type" ],
                     "types" : {
                        "test_type" : {
                            "valid_children" : [ "default", "test_type" ],
                            "icon" : { "image" : "/includes/icon.gif"}
                        }
                    }
                },
                "themes" : {
                    "dots" : true,
                    "icons" : true
                }
            });

person Bill Software Engineer    schedule 28.12.2011    source источник


Ответы (1)


Если вы хотите сделать это в ответе JSON, это работает для меня:

{ 
  "attr": { "class": "some-class1", "id": "node_1" },
  "data": { 
    "attr": { "class": "some-class2", "href": "", "title": "node title" }
  }
}

Первый attr относится к тегу <li>, а второй attr (внутренние данные) относится к тегу <a>.

person Zheileman    schedule 01.03.2012