Quiero ordenar una tabla de árbol no por columnas sino por filas, su encabezado está a la izquierda en la parte del árbol. Mi tabla de árbol se ve así : el complemento de tabla de árbol que utilicé .
y el codigo es algo asi
<table> <tr data-node-id="index"> <th>Index</th> <td>...</td> <td>...</td> </tr> <tr data-node-id="patient"> <th>Patient Characteristics</th> </tr> <tr data-node-id="name" data-node-pid="patient"> <th>Name</th> <td>...</td> <td>...</td> </tr> <tr data-node-id="DOB" data-node-pid="patient"> <th>DOB</th> <td>...</td> <td>...</td> </tr> <tr data-node-id="age" data-node-pid="patient"> ... No hay una parte <thead> , por lo que muchos métodos de clasificación no funcionan bien en esta tabla. Soy nuevo en el tipo de cosas de JavaScript, y no tengo idea si esto es fácil de hacer. Pero no encontré métodos para esta situación en línea, así que trato de pedir ayuda.
Primero, acceda al elemento de la tabla:
var table = document.getElementById("table").children[0]; // You can just add an id to the tableAquí hay una función para ordenar por fila:
function sortRow(rowNum) { // rowNum is index of row: for example, name is 2 var answerArray = []; for (i = 1; i < table.children[rowNum].children.length; i++) { answerArray.push(table.children[rowNum].children[i].innerHTML); } return answerArray;Esta función toma el número de fila y devuelve una matriz de todos los valores de la fila.