在使用jsTree构建的树中,我将<a>标记内的文本放在一个变量中。我想检查那个节点。我该怎么办?

我目前正在使用jQuery查找该节点,并更改其类。但是,这不会通过使父节点在其类中不确定来修复父节点。我尝试做$('.colors').jstree("checkbox_repair"),但是似乎什么也没做。

如果有人可以同时回答这两个问题,那就太好了,因为它们与同一个问题有关。

这是一个jsFiddle,说明了问题-> http://jsfiddle.net/thapar/5XAjU/

最佳答案

在js_tree中,有.check_node ( node ).uncheck_node ( node )函数,我想这就是您要的。在此处获取文档:http://www.jstree.com/documentation/checkbox

这是上面链接“如何执行操作”中的文档的摘录:

/* METHOD ONE */
jQuery("some-selector-to-container-node-here")
    .jstree("operation_name" [, argument_1, argument_2, ...]);

/* METHOD TWO */
jQuery.jstree._reference(needle)
    /* NEEDLE can be a DOM node or selector for the container or a node within the container */
    .operation_name([ argument_1, argument_2, ...]);

所以我认为这种语法应该有效
$.jstree._reference(".colors").check_node('li#tree_3');

另外我不确定您是否应该使用一个类来引用您的树。可能使用一个ID来引用您的树,然后使用以下语法:
$.jstree._reference("#colors").check_node('li#tree_3');

//编辑:请记住,最新版本的jsTree不再具有称为_reference的函数。它被重命名为引用(不带下划线)。 (最后检查于2015年8月24日15:45 @ mkli90)
链接:https://www.jstree.com/api/#/?f= $ .jstree.reference(needle)

09-10 00:52
查看更多