gpt4 book ai didi

javascript - 如何访问 jstree 排序函数中的节点数据属性?

转载 作者:行者123 更新时间:2023-11-30 19:35:33 25 4
gpt4 key购买 nike

简介

我正在使用 jquery 树插件库 jstree 显示树。

期待

因为我正在显示文件 - 它们有扩展名 - 所以按名称排序不是很有帮助。人们会认为按类型排序是最好的。

为此,我添加了数据属性 item-sort-value,它包含 extension + fileName + uuid

错误

我想按此字段data-item-sort-value 对树进行排序,但在树中显示标准 文件名。但是我无法在排序函数中获取它的值

我也试过:

  • a1.getAttribute('data-item-sort-value')... 得到了 TypeError: a1.getAttribute is not a function
  • a1.a_attr('data-item-sort-value')... 得到了 TypeError: a1.getAttribute is not a function
  • a1.data('item-sort-value')... 得到了 TypeError: a1.data is not a function
  • a1.node.data('item-sort-value')... 得到了 TypeError: a1.data is not a function

我的代码

'sort': function(a, b)
{
let a1 = this.get_node(a);
let b1 = this.get_node(b);

if (a1.node.attr('item-sort-value') === b1.node.attr('data-item-sort-value'))
{
return (a1.node.attr('data-item-sort-value') > b1.node.attr('data-item-sort-value')) ? 1 : -1;
}
else
{
return (a1.icon > b1.icon) ? 1 : -1;
}
}

控制台输出

enter image description here

最佳答案

这是使用数据属性值的工作排序函数。

'sort' : function(a, b)
{
let a1 = this.get_node(a);
let b1 = this.get_node(b);
let isv_a1 = a1.a_attr['data-item-sort-value'];
let isv_b1 = b1.a_attr['data-item-sort-value'];

return (isv_a1 > isv_b1) ? 1 : -1;
}

关于javascript - 如何访问 jstree 排序函数中的节点数据属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55983706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com