我正在使用jquery
树插件库jstree
显示树。
由于我正在分发文件-它们具有扩展名-因此按名称排序不是很有帮助。可以想象按类型排序是最好的。
为此,我添加了item-sort-value
的数据属性extension + fileName + uuid
。
我想按此字段data-item-sort-value
对树进行排序,但不使用树中的 standard 文件名。但是我无法在排序函数中获取其值。
我也尝试过:
TypeError: a1.getAttribute is not a function
TypeError: a1.getAttribute is not a function
TypeError: a1.data is not a function
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;
}
}
答案 0 :(得分:1)
这是使用数据属性值的有效排序功能。
'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;
}