Manipulación de tablas JavaScript

Tengo una tabla con una columna y unas diez filas. La primera columna tiene filas con texto como encabezados de fila, "encabezado 1", "encabezado 2". La segunda columna contiene campos para que el usuario escriba datos (cajas de texto ycasillas de verificación).

Quiero tener un botón en la parte superior etiquetado "Añadir nuevo ...", y haga que cree una tercera columna, con los mismos campos que la primera columna. Si el usuario hace clic nuevamente, creará otra columna en blanco con campos (como en la segunda columna).

¿Alguien sabe de una manera efectiva de manipular el DOM para lograr esto?

Estoy experimentando condivyTABLES pero estoy en mi tercer día de hacer esto, y se siente más difícil de lo que debería ser.

Respuestas a la pregunta(2)

Su respuesta a la pregunta