Dieses Snippet funktioniert in der Konsole aber weder in Skript-Tags noch in angehängten js-Datei.Der jquery-Code funktioniert auf Konsole, aber nicht in Skript-Tags oder in angehängter js-Datei
Antwort
warten Sie auf das DOM bereit sein, wenn Sie Ihre Event-Handler aufrufen:
jQuery(function($) { // this does the trick and also makes sure jQuery is not conflicting with another library
$(".filter-close").click(function(){
$(this).parent().remove();
});
});
wenn eine andere JavaScript-Bibliothek, wir $ .noConflict() aufrufen zu vermeiden Namespace Schwierigkeiten möchte. Wenn diese Funktion aufgerufen wird, ist die Verknüpfung $ nicht mehr verfügbar und zwingt uns jedes Mal jQuery zu schreiben, wenn wir normalerweise $ schreiben würden. jedoch bestand die Behandlungsroutine zum .ready() Methode kann ein Argument, das das globale jQuery Objekt übergeben wird. Dies bedeutet, dass wir das Objekt im Rahmen unserer .ready() -Prozedur umbenennen können, ohne anderen Code zu beeinflussen
Da OP besagten Code in der Konsole funktioniert, können wir annehmen, dass '$' sich bereits auf jQuery bezieht, aber das ist immer noch eine gute Information –
@ A.Wolff: Klar, ich wollte nur etwas hervorheben, das die anderen antwortet nicht erwähnt :) – D4V1D
Vielleicht mit filter-close
Klasse das Element existiert zum Zeitpunkt des diese Funktion im DOM nicht nennen. Ich nehme an, dass Sie Elemente dynamisch zu DOM hinzufügen. Bist du?
Dies ist keine Antwort, es ist nur ein Kommentar. – D4V1D
Ich denke, es ist beides. –
@UjwalRatra - es kann beides sein, aber SO Leitlinien klar, dass eine Antwort die Frage beantworten muss, wenn Sie Codebeispiel von was zu tun, wenn es dynamisch hinzugefügt wurde, dann ist es vielleicht eine Antwort - sonst ist es ein Kommentar nur –
Es kann ein Problem der nicht vorhanden ist, in dem DOM sein, wenn die Event-Handler angebracht ist.
so etwas wie dieses Versuchen:
$(document).ready(function() {
// Handler for .ready() called.
$(".filter-close").click(function(){
$(this).parent().remove();
});
});
Die $ .ready() (Link unten) sorgt dafür, dass es versuchen tut, den Code rufen Sie den Handler hinzuzufügen, bevor die DOM gerendert wird, ähnlich wie OnLoad.
Documentation for JQuery .ready()
method
Es gibt auch potentielle Bibliothek Konflikte (siehe @ D4V1D Antwort zum Beispiel dafür), aber wir können nicht sicher sagen, ohne zu wissen, welche Fehlermeldung in der Konsole erscheinen (falls vorhanden) und im Idealfall mehr über den umgebenden Code.
Bitte drücken Sie F12 und sehen, was in der Konsole und/oder Netzwerkplatte gedruckt wird, oder google „browser dev-Konsole“, wenn F12 nichts tut.
Aber, wie gesagt, es in der Konsole funktioniert, so dass ich nehme an, Sie dev Konsole bedeuten und dass es in der Tat nur ein Timing-Problem, so unwahrscheinlich, dass ein Konflikt (wenn auch vielleicht noch Syntaxfehler irgendwo anders auf der Seite)
- 1. JS funktioniert in der Konsole, aber nicht mit Onclick
- 2. jQuery funktioniert in der Konsole, aber nicht im ursprünglichen Code
- 3. actionmailer funktioniert in der Konsole, aber nicht im Controller
- 4. Python - Openpyxl funktioniert in der Konsole, aber nicht importieren
- 5. Jquery animiert funktioniert in der Konsole, aber nicht im Skript
- 6. Funktion funktioniert in der Konsole aber nicht jQuery
- 7. DOM-Funktion funktioniert in der Konsole, aber nicht in der Erweiterung, trotz Warten auf das Laden
- 8. Carrierwave Upload funktioniert in Schienen Konsole aber nicht in spec
- 9. Override M2_HOME in der Konsole funktioniert nicht
- 10. CodeLite - Konsole läuft, aber Code funktioniert nicht
- 11. COM-Objekt funktioniert in der Konsole-Anwendung, aber nicht in der DLL
- 12. NodeJS variable Drucke auf Konsole, aber nicht auf der Ansicht
- 13. Import in der Konsole arbeiten, aber nicht in PyCharm
- 14. Warum kann ich npm in Ruby-Konsole nicht ausführen, aber in Node-Konsole funktioniert gut?
- 15. jQuery-Selektor funktioniert nicht im Skript, funktioniert aber in der Konsole
- 16. Bootstrap-Tooltip funktioniert nicht auf Live-Site, aber woking gut auf der Konsole
- 17. Mein Python-Skript funktioniert in IDLE aber nicht in der Konsole
- 18. Benutzerdefinierte Variablen für Benutzer speichern, aber nicht in der Konsole
- 19. Befehl läuft in ISE, aber nicht als ps1 in Konsole
- 20. sed Ausgänge korrekte Änderung auf der Konsole, aber nicht bearbeitet nicht in der Datei
- 21. Javascript window.open funktioniert nicht in der Chrome-Konsole?
- 22. Schienen Konsole erfordern Nokogiri Rückgabe false (aber funktioniert in irb)
- 23. JQuery funktioniert in der Vorschau, aber nicht auf Tumblr
- 24. Warum kann ich nicht wahr oder falsch in der Konsole
- 25. JQuery funktioniert beim Einfügen in die Konsole aber nicht beim Laden der Seite
- 26. PyCharm-Code-Vervollständigung funktioniert in der Konsole, aber nicht im Editor
- 27. link_to funktioniert nicht in Skript/Konsole
- 28. YQL-Konsole funktioniert nicht
- 29. Warum funktioniert Date.today nicht auf der Ruby-Konsole (irb)?
- 30. multiprocessing.Pool in jupyter Notebook funktioniert auf Linux, aber nicht Windows
Bitte mindestens Kopie + den Code für die Seite fügen Sie Ihre Verwendung auf , und klicken Sie auf F12, um festzustellen, ob in der Entwicklerkonsole ein Fehler aufgetreten ist. –
Welchen Fehler erhalten Sie, wenn Sie im Skript-Tag oder in der angehängten js-Datei ausgeführt werden? – D4V1D
Silly mich, aber warum diese Frage bekommen zwei upvotes ??? –