我有一个存储在变量中的 HTML dom 元素。HTML 是从 handlebar.js 和使用 jQuery 的 JSON 数据生成的。我需要根据 CSV 中的值对其进行排序
var html = "<div id = 'qual'>Qual</div>
<div id = 'exp'>Exp</div>
<div id = 'ExcludeFromSorting'></div>
<div id = 'edu'>Edu</div>
<div class='clear'></div>
<div id = 'int'>Int</div>
<div id = 'ref'>Ref</div>
<div id = 'img'>Img</div>
<div id = 'obj'>Obj</div>";
HTML 通常很复杂,通常有 200 多行代码。html 将有很多带有或不带有 id 的 div 标签、嵌套的 div 等。我在这里使用了一个简单的符号。
我在一个变量中有排序顺序为 csv
var sortorder = "obj,exp,qual,edu,int,ref,img";
但是具有上述 id 的 div 标记将明确存在于生成的 HTML 中(var html 将明确包含所有具有相应 id 的 div。)为简单起见,var html 可能有超过 100 个 div,但这 7 个 div
<div id = "qual">Qual</div>
<div id = "exp">Exp</div>
<div id = "edu">Edu</div>
<div id = "int">Int</div>
<div id = "ref">Ref</div>
<div id = "img">Img</div>
<div id = "obj">Obj/div>
根据 var sortorder 将明确地存在于 var html 中的某个位置以打乱顺序。
我需要的是相同的 var html,但那些 div 是根据传递的值排序的。var html 中的其他 div 不应该受到影响。
我想我足够简短来解释我的要求,我已经发布了这个问题
如何使用 jQuery 根据 CSV 列表中的 id 对 div 元素进行排序?
但这种方法并非一直有效。