Инвертирование строк в динамической таблице HTML с помощью jquery

У меня есть таблица html, которая добавляет строку в последнюю строку с помощью jquery Например

как я хочу это

row1 >> Только что опубликовал

row2 >> опубликовано за 1 минуту до

row3 >> опубликовано на 2 мин. раньше

Но это похоже на

row1 >> опубликовано на 2 мин. раньше

row2 >> опубликовано за 1 минуту до

row3 >> Только что опубликовал


<tbody>
  <table align = "center" style = "width:auto" id = "ex-table">
    <tr id = "tr">
      <center><th>Date of join</th></center>
      <center><th>name</th></center>
      <center><th>designation</th></center>
      <center><th>exprience</th></center>
      <center><th>salary</th></center>
    </tr> 
  </table> 
</tbody>


<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
    var database = firebase.database().ref().child('user');
    database.on('value', function(snapshot){
        if (snapshot.exists()){
            var content = ' ';
            snapshot.forEach(function(data){
                var val = data.val();
               content +='<tr>';
                content += '<td>' + val.daeofjoin + '</td>';
                content += '<td>' + val.name + '</td>';
                content += '<td>' + val.designation + '</td>';
                content += '<td>'  + val.experience + '</td>';
                content += '<td>'  + val.salary + '</td>';
           content += '</tr>';
            });
            $('#ex-table').append(content)
        }
    });
</script>           
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
0
33
1

Ответы 1

Вы можете использовать append() / prepend() внутри цикла forEach в зависимости от результатов, которые вы получите

snapshot.forEach(function(data){
    var val = data.val();
        content ='<tr>';  // <<<< remove + from here 
        content += '<td>' + val.daeofjoin + '</td>';
        content += '<td>' + val.name + '</td>';
        content += '<td>' + val.designation + '</td>';
        content += '<td>'  + val.experience + '</td>';
        content += '<td>'  + val.salary + '</td>';
        content += '</tr>';
        $('#ex-table').append(content); //$('#ex-table').prepend(content);
 });

Note: don't forget to remove + sign from first content = .. if append() not work as expected you can try use prepend()$('#ex-table').prepend(content);

На самом деле я не знаю, будет ли мой код работать с firebase или нет .. но вы можете попробовать его, если он работает нормально, если нет, вы все равно можете взглянуть на firebase -> обратный порядок даты

Редактировать .. Я только что понял (из комментария), что мой код подтолкнет строку заголовка вниз .. так что вы можете использовать insertAfter()$(content).insertAfter('#ex-table > tr:first');, эта строка кода вставит новые строки после первой строки

Большое спасибо .... работает, я использую prepend, но <th> (заголовки таблиц) также возвращаются к последней строке

Shiva 21.03.2018 04:07

@Shiva извини за это минутку

Mohamed-Yousef 21.03.2018 04:09

@Shiva попробуйте $(content).insertAfter('#ex-table > tr:first'); вместо добавления или добавления строки

Mohamed-Yousef 21.03.2018 04:13

извини даже это не сработает, из-за этого вся таблица исчезнет

Shiva 21.03.2018 04:25

@Shiva не должно быть .. но пока вы дали первую строку id = "tr", вы можете попробовать $(content).insertAfter('#tr');

Mohamed-Yousef 21.03.2018 04:30

Большое спасибо ... С днем

Shiva 21.03.2018 04:32

рад помочь @Shiva .. Хорошего дня тоже :-)

Mohamed-Yousef 21.03.2018 04:33

Другие вопросы по теме