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>
id
del elemento adjunto.
Necesito ver si ya existe un <div>
id
con name
antes 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-close
a la función append como hijo de, .labels
por lo que había una manera de cerrar el anexo <div>
si fuera necesario. Después de hacer clic .mini-close
e intentar hacer clic en el mismo nombre nuevamente li.friends
, aún encuentra el div id [name]
y devuelve la primera parte de mi if
declaración.
$("div#" + name).css({bottom: '30px'});
está mal, debería estarlo$("div#" + name).css('bottom', '30px');