Eu tenho uma função que anexa a <div>a um elemento no clique. A função obtém o texto do elemento clicado e o atribui a uma variável chamada name. Essa variável é então usada como o <div> idelemento anexado.
Preciso ver se já existe um <div> idcom nameantes de anexar o elemento, mas não sei como encontrar isso.
Aqui está o meu 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');
});
Isso parece bastante simples, mas estou recebendo o erro " Fim inesperado de arquivo ao procurar pelo nome da classe" . Eu não tenho idéia do que isso 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>");
}
O que é mais é que desejo excluir esse elemento se eu o fechar, o que deve remover o div id [name]do documento, mas .remove()não o faz.
Aqui está o código para isso:
$(".mini-close").live('click', function(){
$(this).parent().remove();
});
Eu adicionei .mini-closeà função de acréscimo como filho de, .labelsportanto, havia uma maneira de fechar o acréscimo, <div>se necessário. Depois de clicar .mini-closee tentar clicar no mesmo nome novamente, li.friendsele ainda encontra div id [name]e retorna a primeira parte da minha ifdeclaração.
$("div#" + name).css({bottom: '30px'});está errado, deve ser$("div#" + name).css('bottom', '30px');