如何修改jstree现有节点的data属性?尝试方案报错求助
解决jstree节点data属性修改的语法错误问题
错误原因:JavaScript中,属性名包含连字符(如
data-opened-before)时,不能使用点语法访问或赋值,连字符会被解析为减号,触发语法错误。正确修改方式:
- 使用方括号语法修改
li_attr属性:$.jstree(true).get_node(item_id).li_attr['data-opened-before'] = true; - 若需要同步更新DOM显示,修改后调用jstree的
refresh_node方法:const node = $.jstree(true).get_node(item_id); node.li_attr['data-opened-before'] = true; $.jstree(true).refresh_node(node); - 也可直接操作DOM元素的data属性(需确保jQuery环境):
const $nodeEl = $($.jstree(true).get_node(item_id, true)); $nodeEl.data('opened-before', true);
- 使用方括号语法修改
内容的提问来源于stack exchange,提问作者lf11
相关产品推荐
相关产品推荐

