我能够通过将子 rel 属性分配给子级并将父级 rel 属性分配给父级来克服这个问题。然后我在开始时遍历表并隐藏所有子项并在排序完成后重新附加它们。我还使用切换功能来显示孩子。这是我的解决方案:
function lfDisplayProductInformation(id){
if($(`[rel="child-${id}"]`).attr("hidden") === 'hidden'){
$(`[rel="child-${id}"]`).removeAttr('hidden')
}
else if(!$(`[rel="child-${id}`).attr("hidden")){
$(`[rel="child-${id}"]`).attr("hidden", true)
}
}
$(".tablesort")
.tablesorter({
theme: 'blue',
showProcessing : true
})
// assign the sortStart event
.bind("sortStart",function(e, t) {
$("tr[rel^='parent']").each(function() {
var parentRow = $(this);
var tag = (parentRow.attr('rel')).split("-")[1];
var childRow = $(`tr[rel="child-${tag}"]`)
if(!childRow.attr("hidden")){
childRow.attr("hidden", true)
}
});
})
.bind("sortEnd",function(e, t) {
$("tr[rel^='parent']").each(function() {
var parentRow = $(this);
var tag = (parentRow.attr('rel')).split("-")[1];
var childRow = $(`tr[rel="child-${tag}"]`)
childRow
parentRow.after(childRow);
});
})