jQuery show() nicht eine Funktion verwendet werden, hinzufügen von DOM-Elementen
Ich bin der Migration von PrototypeJS von jQuery, und ich habe Probleme mit der Anwendung Funktionalität, um neue DOM-Elemente Hinzugefügt, die in einem einfachen banner Skript.
Grundsätzlich auf die Seite laden, neue DIV-Elemente platziert, die in das DOM mithilfe der append(), so wie ich das verstehe, ist dies, wie es gemacht wird jQuery im Gegensatz zu Prototyp des Element-Objekts.
$.each(Banner.data, function(i, e) {
$('#banner_area').append("<div class='banner_slot' id='bannner-"+ i +"'>...[nested elements]</div>").hide();
});
$('.banner_slot').get(0).show();
Beim Check-Firebug die Elemente wurden erfolgreich Hinzugefügt worden, um den DOM, und werden sofort ausgeblendet. Dann die erste (0) - element zeigen sollte... aber Firebug gibt mir diese Fehlermeldung:
TypeError: $(...).get(...).show is not a function
http://www.ten103.com/javascript/global_desktop.js
Line 15
Ich bin sicher, dies ist etwas einfacher, da habe ich mit Prototyp für Jahre, aber verschieben müssen, um zu jQuery, weil... nun ja, mehr Menschen es nutzen so die Ressourcen sind unendlich viel besser.
Gibt es einige grundlegende Unterschied zwischen den beiden, das fehlt mir hier?
- statt
$('.banner_slot').get(0).show()
, versuchen Sie es mit$('.banner_slot')[0].show()
- Verwenden Sie die richtige Methode, ersetzen Sie einfach
get
miteq
- ...oder
.first()
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
änderung
.get()
gibt das DOM-element, während.eq()
gibt jQuery-Objekt und.show()
ist jQuery API.Weitere Informationen über
.get()
und.eq()
Kasse die jQuery-API-docsMüssen Sie update
zu
Hinweis :
get()
gibt Sie ein DOM-Element undshow()
ist anwendbar auf jQuery-Objekt, daher müssen Sie es zu konvertieren in jQuery-Objekt um die Funktion zu verwenden.eq()
.