J'ai une fonction qui ajoute un <div>
à un élément au clic. La fonction obtient le texte de l'élément cliqué et l'assigne à une variable appelée name
. Cette variable est ensuite utilisée comme<div>
id
élément de l'élément ajouté.
Je dois voir si <div>
id
avecname
existe déjà avant d'ajouter l'élément mais je ne sais pas comment le trouver.
Voici mon code:
$("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');
});
Cela semble assez simple, mais j'obtiens l'erreur « Fin de fichier inattendue lors de la recherche du nom de classe» . Je n'ai aucune idée de ce que cela signifie.
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>");
}
De plus, je veux pouvoir supprimer cet élément si je le ferme, ce qui devrait ensuite le supprimer div id [name]
du document, mais.remove()
ne le fait pas.
Voici le code pour cela:
$(".mini-close").live('click', function(){
$(this).parent().remove();
});
J'ai ajouté .mini-close
à la fonction d'ajout en tant qu'enfant de .labels
donc il y avait un moyen de fermer l'ajout <div>
si nécessaire. Après avoir cliqué .mini-close
et tenté de cliquer à nouveau sur le même nom, li.friends
il trouve toujours le div id [name]
et renvoie la première partie de ma if
déclaration.
$("div#" + name).css({bottom: '30px'});
est faux, il devrait l'être$("div#" + name).css('bottom', '30px');