如何使用jQuery对定义列表(DL)进行排序

时间:2014-03-26 10:10:53

标签: jquery list sorting definition

我在HTML中有一个简单的定义列表,我需要根据DT值按字母顺序排序。

<dl>
    <dt>fruit</dt>
    <dd>apple, orange, bannana</dd>
    <dt>vegetable</dt>
    <dd>tomato, lettuce</dd>
<dl>

2 个答案:

答案 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按降序排序。

注意:您可以更改订单。