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

[0] Índice de Mensajes

Ir a la versión completa