Tengo una función que agrega <div>a un elemento al hacer clic. La función obtiene el texto del elemento seleccionado y lo asigna a una variable llamada name. Esa variable se usa como la <div> iddel elemento adjunto.
Necesito ver si ya existe un <div> idcon nameantes de agregar el elemento, pero no sé cómo encontrarlo.
Aquí está mi código:
$("li.friend").live('click', function() {
name = $(this).text();
// if-statement checking for existence of <div> should go here
// If <div> does not exist, then append element
$("div#chatbar").append("<div class='labels'><div id='" + name + "' style='display:none;'></div>" + name + "</div>");
// Else
alert('this record already exists');
});
Esto parece bastante sencillo, pero recibo el error " Fin inesperado del archivo al buscar el nombre de la clase" . No tengo idea de lo que eso significa.
if (document.getElementById(name)) {
$("div#" + name).css({bottom: '30px'});
} else {
$("div#page-content div#chatbar").append("<div class='labels'>" + name + "</div><div id='" + name + "'></div>");
}
Además, quiero poder eliminar este elemento si lo cierro, lo que debería eliminarlo div id [name]del documento pero .remove()no lo hace.
Aquí está el código para eso:
$(".mini-close").live('click', function(){
$(this).parent().remove();
});
Agregué .mini-closea la función append como hijo de, .labelspor lo que había una manera de cerrar el anexo <div>si fuera necesario. Después de hacer clic .mini-closee intentar hacer clic en el mismo nombre nuevamente li.friends, aún encuentra el div id [name]y devuelve la primera parte de mi ifdeclaración.
$("div#" + name).css({bottom: '30px'});está mal, debería estarlo$("div#" + name).css('bottom', '30px');