Ordenando linhas (tr) de uma tabela (table) com JQuery

Baseado no seguinte post (http://www.onemoretake.com/2009/02/25/sorting-elements-with-jquery/), criei uma função com JQuery que pode servir para mais pessoas.
A necessidade era ordenar as rows (trs) de uma tabela (table), usando como base um atributo que coloquei dentro da TR.

    function sortElementsByAttribute(elements, atributte, destiny) {
        elements.sort(function (a, b) {
            var compA = $(a).attr(atributte);
            var compB = $(b).attr(atributte);
            return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
        });
        $.each(elements, function (idx, item) { destiny.append(item); });
    }

Forma de uso:

    sortElementsByAttribute($(“#myTable tbody”).children(“tr”).get(), “OrderAttrib”, $(“#myTable tbody”));

Apesar de eu ainda não ter usado em outro lugar (acabei de criar a função) acredito firmemente que esta possa ser usada com outros tipos de controles HTML, como por exemplo uma lista (UL – LI), elementos de um combo (SELECT), etc.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: