Wie finde ich heraus, ob div mit spezifischer ID in jQuery existiert?
Ich habe eine Funktion, die fügt eine <div>
auf ein element klicken. Die Funktion ruft den text des angeklickten element und weist es einer Variablen namens name
. Diese variable wird dann verwendet, als die <div>
id
des angehängten Elements.
Muss ich sehen, ob ein <div>
id
mit name
bereits vorhanden ist, bevor ich anfügen, das element aber ich weiß nicht, wie diese zu finden.
Hier ist mein 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');
});
Dies scheint ziemlich einfach, aber ich bin immer der Fehler "Unerwartetes Dateiende während der Suche für die Klasse name". Ich habe keine Ahnung, was das bedeutet.
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>");
}
Was mehr ist, dass ich in der Lage sein möchten, löschen Sie dieses element, wenn ich es schließen sich die sollten dann entfernen Sie die div id [name]
aus dem Dokument aber .remove()
tut dies nicht.
Hier ist der code für:
$(".mini-close").live('click', function(){
$(this).parent().remove();
});
Fügte ich .mini-close
Parameter in die append-Funktion wie ein Kind .labels
so, es war ein Weg, um zu schließen aus der angehängten <div>
wenn nötig. Nach einem Klick auf .mini-close
und versuchen, auf dem gleichen Namen wieder aus li.friends
es noch findet die div id [name]
und gibt den ersten Teil meiner if
- Anweisung.
InformationsquelleAutor der Frage sadmicrowave | 2010-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
.Länge
nach dem Selektor, um zu sehen, wenn es abgestimmt alle Elemente, wie diese:Die volle version:
Oder die nicht-jQuery-version für das Teil (da es eine ID):
InformationsquelleAutor der Antwort Nick Craver
Nick ' s Antwort Nägeln. Sie könnten auch den Rückgabewert von getElementById direkt als Bedingung, sondern als Vergleich zu null (so oder so funktioniert, aber ich persönlich finde diesen Stil ein wenig besser lesbar):
InformationsquelleAutor der Antwort philo
Versuchen, überprüfen Sie die Länge der Selektor, wenn es gibt Ihnen etwas, dann muss das element existiert, sonst nicht.
Verwenden die erste if-Bedingung für die id und die 2. Klasse.
InformationsquelleAutor der Antwort Tapan kumar
InformationsquelleAutor der Antwort Kareem
Einem anderen Kürzel Weg:
InformationsquelleAutor der Antwort Sanjib Debnath
Können Sie überprüfen, indem Sie mithilfe von jquery einfach wie diese:
InformationsquelleAutor der Antwort Hariprasath
Die am meisten einfache Weise ist..
Dies ist auch Teil der HTML5-Spezifikationen: https://www.w3.org/TR/html5/single-page.html#accessing-other-browsing-contexts#named-access-on-the-window-object
InformationsquelleAutor der Antwort rckd
Die Sie behandeln können es in verschiedenen Möglichkeiten,
Ziel ist zu prüfen, ob der div vorhanden sein dann führen Sie den code. Einfach.
Zustand:
Hinweis:
Diese liefert eine Zahl jedes mal, wenn es ausgeführt wird, also wenn es keine div geben wir Ihnen eine Null [0], und da wir keine 0 dargestellt werden kann, als falsch in Binärdatei, so dass Sie können verwenden Sie es in der if-Anweisung. Und Sie können Sie es verwenden, wie ein Vergleich mit keiner Zahl. während jeder gibt es drei Erklärungen unten
InformationsquelleAutor der Antwort Ad Kahn
Hier ist die jQuery-Funktion, die ich verwenden:
Dieser wird einen booleschen Wert zurückgeben. Wenn das element vorhanden ist, gibt es true zurück.
Wenn Sie wollen select-element durch den Klassennamen, ersetzt einfach
#
mit.
InformationsquelleAutor der Antwort Sahan
legen Sie die id, die Sie überprüfen möchten in jquery Methode.
InformationsquelleAutor der Antwort bhavya_w