我正在使用 CKEditor 创建富文本并将生成的 html 嵌入到无序列表 (ul) 中的 li 中包含的 div 中。我使用 jQuery 和各种比较对 li 进行排序。当富文本本身包含 ul 或 ol 时,CKEditor 将允许,排序失败并在 FF Firebug 中显示消息:
“HierarchyRequestError:节点不能在线插入层次结构中的指定点”
并引用 jQuery 中的这段代码:
append: function() {
return this.domManip(arguments, true, function( elem ) {
if ( this.nodeType === 1 || this.nodeType === 11 ) {
this.appendChild( elem );
}
});
},
当 html 不包含任何 ul 或 ol 时,排序工作正常。
这是 HTML 上下文:
一个无序列表,其中每个 li 都被归类为“RetailerSearchSectionLine”,并且包含 div,其中包含作为 html 的富文本。
这是失败的 jQuery 排序函数之一:
var TransferArray = $(".RetailerSearchSectionLine").toArray().sort(function(a, b)
{
var distance1 = $(a).data("DistanceFromReferenceLocation");
var distance2 = $(b).data("DistanceFromReferenceLocation");
return (distance1 - distance2);
});
$("#RetailerSearchSectionBody ul").append(TransferArray);
有什么建议么?我正在考虑对数组的键进行排序,然后根据排序结果重新排列 ul 。但是,如果列表中的列表存在一些我没有看到的基本问题,那么这实际上可能不起作用。