Ho una funzione che aggiunge <div>
un elemento a un clic. La funzione ottiene il testo dell'elemento cliccato e lo assegna a una variabile chiamata name
. Tale variabile viene quindi utilizzata come <div>
id
elemento aggiunto.
Devo vedere se esiste già un <div>
id
con name
prima di aggiungere l'elemento ma non so come trovarlo.
Ecco il mio codice:
$("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');
});
Sembra abbastanza semplice ma sto ricevendo l'errore " Fine del file imprevista durante la ricerca del nome della classe" . Non ho idea di cosa significhi.
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>");
}
Inoltre, desidero poter eliminare questo elemento se lo chiudo, il che dovrebbe quindi rimuoverlo div id [name]
dal documento ma .remove()
non farlo.
Ecco il codice per questo:
$(".mini-close").live('click', function(){
$(this).parent().remove();
});
Ho aggiunto .mini-close
alla funzione append come figlio di .labels
quindi c'era un modo per chiudere l'aggiunta <div>
se necessario. Dopo aver fatto clic .mini-close
e tentato di fare di nuovo clic sullo stesso nome da li.friends
esso, trova ancora div id [name]
e restituisce la prima parte della mia if
dichiarazione.
$("div#" + name).css({bottom: '30px'});
è sbagliato, dovrebbe essere$("div#" + name).css('bottom', '30px');