Programación Web y Scripting > JavaScript
BOrrar un nodo de texto
(1/1)
nicoalv1984:
hOla a todos...tengo el siguiente codio q agrego nodos o borro:
<html>
<body>
<script language="JavaScript">
var contador=1;
function function1() {
var m = contador++;
var n = document.createElement("li");
n.appendChild(document.createTextNode(m));
document.getElementById("myList").appendChild(n);
//contador++;
}
function eliminar()
{
if (myList.hasChildNodes())
{
myList.removeChild(myList.lastChild);;
}
}
</script>
<ul id="myList">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<input type="button" value="Add list item" onClick="function1();">
<input type="button" value="eliminar" onClick="eliminar()">
</body>
</html>
Lo q quisiera hacer es por es insertar hasta 6 nodos de textos, si inserto mas no dejar q se inserten mas de 6 nodos
fonsi3:
Hola, mira aqui te hice uno, fijate que he utilizado la propiedad innerHTML, que es mucho mas mejor de usar que createTextNode()
--- Código: Text ---<html> <head></head> <body> <ul id="myList"> </ul> <input type="button" value="Add" id="addItem"> <input type="button" value="Remove" id="removeItem"> </body></html><script> var myList = document.getElementById( 'myList' ); var addItem = document.getElementById( 'addItem' ); var removeItem = document.getElementById( 'removeItem' ); var count = 1; addItem.onclick = function() { var item = document.createElement( 'li' ); item.innerHTML = count; count += 1; myList.appendChild( item ); }; removeItem.onclick = function() { if( allItems.length ) { var lastItem = allItems[allItems.length-1]; myList.removeChild( lastItem ); count -= 1; if( !count ) { count = 1; } } }; </script>
Descargate Firefug, es una excelente herramienta para debuggear javascript.
nicoalv1984:
HOla Experto he probado su codigo , yo inserto varias nodos con add (funciton) y borro con revome (function) y me borra todos, yo quisiera saber si se puede poner un tope para borrar y luego q no te deje borrar mas nodos insertado, se podra hacer o no? Gracias.....
fonsi3:
Aqui le hecho una modifacion pa que solo se pueda insertar 6 nodos, es sencillo solo tienes que controlar cuantos <li> posee el <ul>.
--- Código: Text ---<html> <head></head> <body> <ul id="myList"> </ul> <input type="button" value="Add" id="addItem"> <input type="button" value="Remove" id="removeItem"> </body></html><script> var myList = document.getElementById( 'myList' ); var addItem = document.getElementById( 'addItem' ); var removeItem = document.getElementById( 'removeItem' ); var allItems = myList.getElementsByTagName( 'li' ); var count = 1; var limit = 6; addItem.onclick = function() { if( allItems.length < limit ) { var item = document.createElement( 'li' ); item.innerHTML = count; count += 1; myList.appendChild( item ); } }; removeItem.onclick = function() { if( allItems.length ) { var lastItem = allItems[allItems.length-1]; myList.removeChild( lastItem ); count -= 1; if( !count ) { count = 1; } } }; </script>
nicoalv1984:
Ok Gracias. Experto.
Navegación
Ir a la versión completa