--- title: "Como ordenar o conteúdo de uma tabela" slug: "how-to-sort-the-contents-of-a-table" description: "Sorting is a great option to have when you provide data artifacts in the table. " tags: ["Customization"] updated: 2026-06-22T08:58:57Z published: 2026-06-22T08:58:57Z canonical: "docs.document360.com/how-to-sort-the-contents-of-a-table" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.document360.com/llms.txt > Use this file to discover all available pages before exploring further. # Como ordenar o conteúdo de uma tabela Adicionar colunas ordenáveis às suas tabelas permite que os leitores reordenem o conteúdo da tabela clicando em qualquer cabeçalho de coluna. Clicar em um cabeçalho uma vez ordena ascendente (▴); clicar novamente ordena descendente (▾). A implementação requer duas adições às suas configurações de CSS & JavaScript personalizadas: um snippet de CSS que estiliza os indicadores de ordenação e um snippet em JavaScript que gerencia a lógica de ordenação. --- ## Quando usar tabelas ordenáveis - **Tabelas de referência com muitas linhas**: a ordenação permite que os leitores encontrem rapidamente a entrada que procuram, em vez de escanear toda a tabela. - **Tabelas comparativas**: os leitores podem ordenar por qualquer atributo (preço, nome, disponibilidade de recursos) para comparar opções em seus próprios termos. - **Artigos com muitos dados** específicos: a ordenação reduz a necessidade de os leitores solicitarem uma versão filtrada ou reordenada dos dados. NOTA Essa implementação se aplica a **todas as tabelas** do seu site da Base de Conhecimento. A ordenação é acionada pelo leitor clicando em qualquer cabeçalho de coluna. O ícone de ordenação no cabeçalho indica a direção atual — ascendente (▴) ou descendente (▾). --- ## Como adicionar colunas ordenáveis às tabelas Isso requer dois passos: adicionar o CSS para indicadores visuais e depois adicionar o JavaScript para a lógica de ordenação. ### Adicionar o CSS 1. No portal da Base de Conhecimento, acesse **Configurações** > **site da Base de Conhecimento** > **CSS & JavaScript Personalizado**. ![Knowledge base site settings page showing the Custom CSS and JavaScript option in the left navigation.](https://cdn.document360.io/860f9f88-412e-4570-8222-d5bf2f4b7dd1/Images/Documentation/Custom%20css%20&%20js.png) 1. Selecione a aba **CSS** e cole o seguinte trecho: ``` table th {    cursor: pointer; } table .th-sort-asc::after {    content: "\25b4"; } table .th-sort-desc::after {    content: "\25be"; } table .th-sort-asc::after, table .th-sort-desc::after {    margin-left: 5px; } table .th-sort-asc, table .th-sort-desc {    background: rgba(0, 0, 0, 0.1); } ``` 1. Clique **em Salvar**. ![Custom CSS editor showing the sort table CSS snippet pasted in the CSS tab with the Save button visible.](https://cdn.document360.io/860f9f88-412e-4570-8222-d5bf2f4b7dd1/Images/Documentation/Sort%20table%20content%20-%20custom%20css.png) ### Adicionar o JavaScript 1. Na mesma página **de configurações personalizadas de CSS & JavaScript** , selecione a aba **JavaScript** . 2. Cole o seguinte trecho: ``` $( "table" ).addClass("table-sortable"); /** * Sorts a HTML table. * * @param {HTMLTableElement} table The table to sort * @param {number} column The index of the column to sort * @param {boolean} asc Determines if the sorting will be in ascending */ function sortTableByColumn(table, column, asc = true) {    const dirModifier = asc ? 1 : -1;    const tBody = table.tBodies[0];    const rows = Array.from(tBody.querySelectorAll("tr"));    // Sort each row    const sortedRows = rows.sort((a, b) => {        const aColText = a.querySelector(`td:nth-child(${ column + 1 })`).textContent.trim();        const bColText = b.querySelector(`td:nth-child(${ column + 1 })`).textContent.trim();        return aColText > bColText ? (1 * dirModifier) : (-1 * dirModifier);    });    // Remove all existing TRs from the table    while (tBody.firstChild) {        tBody.removeChild(tBody.firstChild);    }    // Re-add the newly sorted rows    tBody.append(...sortedRows);    // Remember how the column is currently sorted    table.querySelectorAll("th").forEach(th => th.classList.remove("th-sort-asc", "th-sort-desc"));    table.querySelector(`th:nth-child(${ column + 1})`).classList.toggle("th-sort-asc", asc);    table.querySelector(`th:nth-child(${ column + 1})`).classList.toggle("th-sort-desc", !asc); } document.querySelectorAll(".table-sortable th").forEach(headerCell => {    headerCell.addEventListener("click", () => {        const tableElement = headerCell.parentElement.parentElement.parentElement;        const headerIndex = Array.prototype.indexOf.call(headerCell.parentElement.children, headerCell);        const currentIsAscending = headerCell.classList.contains("th-sort-asc");        sortTableByColumn(tableElement, headerIndex, !currentIsAscending);    }); }); ``` 1. Clique **em Salvar**. ![Custom JavaScript editor showing the sort table JavaScript snippet pasted in the JavaScript tab with the Save button visible.](https://cdn.document360.io/860f9f88-412e-4570-8222-d5bf2f4b7dd1/Images/Documentation/Sort%20table%20content%20-%20custom%20js.png) --- ## Desfecho Após salvar ambos os trechos, todos os cabeçalhos das colunas da tabela no seu site da Base de Conhecimento tornam-se clicáveis. Clicar em um cabeçalho ordena as linhas da tabela por aquela coluna. Um indicador de direção de ordenação aparece no cabeçalho da coluna ativa. ![Knowledge Base site table showing clickable column headers with ascending sort indicator applied to the active column.](https://cdn.document360.io/860f9f88-412e-4570-8222-d5bf2f4b7dd1/Images/Documentation/1_Screenshot-sort_the_contents_of_a_table.png)