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> idavecname 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 .labelsdonc il y avait un moyen de fermer l'ajout <div>si nécessaire. Après avoir cliqué .mini-closeet tenté de cliquer à nouveau sur le même nom, li.friendsil trouve toujours le div id [name]et renvoie la première partie de ma ifdéclaration.
$("div#" + name).css({bottom: '30px'});est faux, il devrait l'être$("div#" + name).css('bottom', '30px');