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>
id
elemento anexado.
Preciso ver se já existe um <div>
id
com name
antes 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, .labels
portanto, havia uma maneira de fechar o acréscimo, <div>
se necessário. Depois de clicar .mini-close
e tentar clicar no mesmo nome novamente, li.friends
ele ainda encontra div id [name]
e retorna a primeira parte da minha if
declaração.
$("div#" + name).css({bottom: '30px'});
está errado, deve ser$("div#" + name).css('bottom', '30px');