Following is the code to generate a table with input fields and buttons. 

```
 <table id="myTable">
    <tr>
        <td><input type="text" class="text1"></td>
        <td><input type="text" class="text2"></td>
        <td><input type="text" class="text3"></td>
        <td class="up"><button type="button" class="append_up">Up</button></td>
        <td class="down"><button type="button" class="append_down">Down</button></td>
    </tr>
    <tr>
        <td><input type="text" class="text1"></td>
        <td><input type="text" class="text2"></td>
        <td><input type="text" class="text3"></td>
        <td class="up"><button type="button" class="append_up">Up</button></td>
        <td class="down"><button type="button" class="append_down">Down</button></td>
    </tr>
    <tr>
        <td><input type="text" class="text1"></td>
        <td><input type="text" class="text2"></td>
        <td><input type="text" class="text3"></td>
        <td class="up"><button type="button" class="append_up">Up</button></td>
        <td class="down"><button type="button" class="append_down">Down</button></td>
    </tr>
</table>

```

I want to be able to append a similar row anywhere in the table using JavaScript. If I click the Up button I want a similar row to be appended just above that row, and if clicked down, just below that row. And finally I want to be able to get all the data from the table in the order as created by clicking the buttons. Please help.

**After receiving few answers this is what i did.**

```
$(document).ready(function(){
          var html = '<tr><td><input type="text" class="text1"></td><td><input type="text" class="text2"></td><td><input type="text" class="text3"></td><td><button type="button" class="append_up">Up</button></td><td><button type="button" class="append_down">Down</button></td></tr>';

          $('.append_up').click(function(e) {
              e.preventDefault();
              $(this).closest('tr').before(html);
          });

          $('.append_down').click(function(e) {
              e.preventDefault();
              $(this).closest('tr').after(html);
          });

      }); 

```

I was able to append rows but clicking on the button from the new row does nothing.