使用 .data() 对 .each() 调用返回的元素进行排序

发布于 2024-10-29 06:36:51 字数 234 浏览 0 评论 0原文

我有一个 html 列表,其中每个

  • 附加了各种值。
  • 我可以根据关联的 .data() 值对元素进行排序吗?

    这样我就可以创建一个摘要面板,其中的条目按 .data('DataValueX') 排序。

    只是为了澄清,我不需要对原始元素进行排序,只需使用它们中的数据来创建新的摘要面板。

    I have a html list with various values attached to each <li>.

    Can I order the elements based on an associated .data() value?

    This is so I can create a summary panel with entries sorted by .data('DataValueX').

    Just to clarify I don't need to sort the original elements just use data from them to create a new summary panel.

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(1

    妖妓 2024-11-05 06:36:51

    JavaScript 有一个名为 .sort(sort_function) 的本机方法,您可以使用它对任何数组进行排序。在本例中,您有一个 jQuery 对象集合,其中包含一个元素数组堆栈。

    检查我的 fiddle 来获取它的实际演示。

    $(function() {
        var myArray = $('li').get();  
    
        myArray.sort(function(x,y) {
            return $(x).data('color') > $(y).data('color') ? 1 : -1;
        });
    
        $('ul').empty().append(myArray);
    });
    

    JavaScript has a native method called .sort(sort_function) that you can use to sort any array. In this case, you have a jQuery object collection which has an array stack of elements.

    Check my fiddle for a demo of it in action.

    $(function() {
        var myArray = $('li').get();  
    
        myArray.sort(function(x,y) {
            return $(x).data('color') > $(y).data('color') ? 1 : -1;
        });
    
        $('ul').empty().append(myArray);
    });
    
    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文