Eliminando elementos li de ul

¿Es posible usar JavaScript para eliminar dinámicamente solo unos pocos elementos li de una UL, dados los id de los elementos li?

ACTUALIZAR sobre el problema real:

Tengo la siguiente list.

<ul id="attributes" data-role="listview"> <li id="attrib01">Attribute1</li> <li id="attrib02">Attribute2</li> <li id="attrib03">Attribute3</li> <li id="attrib04">Attribute4</li> <li id="attrib05">Attribute5</li> </ul> 

Después de una request / respuesta ajax, si un atributo en particular está "indefinido", quiero eliminarlo de la list.

 if(typeof data.attrib1 === "undefined") $("#attrib01").remove(); 

Me he asegurado de recibir la respuesta Ajax correcta. Entonces, el problema ahora es que cuando elimino attrib4, también se eliminan attrib [1-3]. ¿Alguna idea de por qué esto podría estar sucediendo?

Tratar

 var elem = document.getElementById('id'); elem.parentNode.removeChild(elem); 

Si obtiene el elemento, busque su elemento primario y luego elimine el elemento. del padre de la siguiente manera:

 element = document.getElementById("element-id"); element.parentNode.removeChild(element); 

Es necesario pasar por el padre, por lo que esto es inevitable.

$('#id').remove() es la forma correcta de eliminar un solo elemento. Tenga en count que los ID de los elementos deben ser únicos en html, y que la invocación debe estar envuelta en una function list para DOM.

Este es un ejemplo de trabajo basado en tu html. Recorre todos los elementos de la list y elimina el cuyo ID no está presente en el object de datos:

 var data = { attrib01: "Number 1", attrib02: "Number 2", attrib04: "Number 4" }; $(document).ready(function() { $("ul > li").each(function() { alert(this.id in data); //check if value is defined if(!(this.id in data)) { $(this).remove(); // This also works: //$('#'+this.id).remove(); } }); });​ 

También es posible segmentar y eliminar solo un elemento ( Demo ) simplemente haciendo:

 $(document).ready(function() { $("#attrib04").remove(); });​ 

Tenga cuidado con sus ID: deben coincidir exactamente. attrib04 != attrib4

Esto hará que los elementos li invisibles:

 document.getElementById("id_here").style.visibility = "hidden"; 

Descargo de responsabilidad: todavía estarán en el DOM

Para eliminar elementos del DOM, use el método .remove() JQuery:

 $("#id_here").remove(); 

http://api.jquery.com/remove/