我在HTML中有一个简单的定义列表,我需要根据DT值按字母顺序排序。
<dl>
<dt>fruit</dt>
<dd>apple, orange, bannana</dd>
<dt>vegetable</dt>
<dd>tomato, lettuce</dd>
<dl>
答案 0 :(得分:1)
如果没有任何其他插件或库,只需将<dd>
放在<dt>
内,即可对其进行排序<dt>
&然后将<dd>
&#39}退出。
var dl = $("#my-list");
$(dl).children('dt').each(function() {
$(this).append($(this).next());
});
var sortedItems = $(dl).children('dt').sort();
$.each(sortedItems, function(i, dt) {
$(dl).append(dt);
$(dt).children('dd').each(function(j, dd) {
$(dl).append($(dd));
});
});
@Mazzu提供的解决方案可能更清晰,更好。 THX。
答案 1 :(得分:0)
实际上,我们对属于特定类别的元素应用排序。
在<dl>
下的情况下,您可以对<dt>
或<dd>
dom元素进行排序。
对于此类排序,您可以使用 tinysort jquery插件,参考to link
您可以参考fiddle link按降序排序。
注意:您可以更改订单。