Como parte de HTML5 existe la posibilidad de agregar información a los inputs de un form, para realizar validaciones; podemos indicar si queremos que sea requerido, con el tipo de datos; number, email, etc restringimos los valores que pueden ser agregados, podemos usar alguna mascara para validaciones, colocar mensajes de error custom, etc (en la red existen muchos ejemplos acerca de como customizar formularios). Ahora bien pongamos en contexto, tengo un formulario como este: <form name="managerForm" id="managerForm"> <p> Name: <input id="managerNameText" required="required" placeholder="Write here the new manager name" size="40"/> </p> <p> Email: <input id="emailText" required="required" placeholder="myemail@myserver.com" type="email" />
Supongamos que se desea eliminar una lista de nodos hijos en un elemento particular en el dom; regularmente seguiríamos la siguiente forma // Bajo parent Id los elementos que deseo eliminar tienen un className en común. var nodes = document.getElementsByClassName(className); var parentNode = document.getElementById(parentId); if (nodes) { for (var i = 0; i < nodes.length; ++i) { var node = nodes[i]; if (node) { if (parentNode.contains(node)) { parentNode.removeChild(node); } } } } El problema con el código anterior es que no se eliminan todos los elementos, si no alrededor de la mitad y esto sucede porque el valor nodes.length es alterado cada vez que eliminamos un nodo (o al menos es lo que creo, tampoco me detuve mucho tiempo a comprobar mi teoría), el camb