Methodenausdruck ist nicht vom Funktionstyp

Lesezeit: 2 Minuten

Benutzeravatar von elixenide
Elixenid

Ich habe folgende JavaScript-Datei:

/*global $ */

function foo() {
    'use strict';
    var $tr = $('table tr'),
        $td = $tr.children('td');

    $td.html('Hello World');
}

In PHPStorm, children wird mit einer schwachen Warnung unterstrichen. Wenn Sie mit der Maus darüber fahren, wird diese Nachricht angezeigt:

Methodenausdruck ist nicht vom Funktionstyp

Diese Datei befindet sich im selben Verzeichnis wie jquery.min.js (v. 1.11.0, falls das wichtig ist).

Wie kann ich das beheben?

Beachten Sie, dass das obige Beispiel ein minimalistisches Beispiel ist, das ausreicht, um das Problem zu reproduzieren; Es ist nicht mein eigentlicher Code, aber es wird das gleiche Ergebnis liefern.

  • Bist du dir sicher? $ bezieht sich auf jQuery? kannst du es versuchen var $tr = jQuery('table tr')

    – Arun P. Johny

    24. Oktober 2014 um 2:28 Uhr

  • Okay, das ist seltsam. Ja, ich bin mir sicher, dass es sich darauf bezieht, in dem Sinne, dass es sich definitiv auf jQuery bezieht, wenn ich es ausführe. Aber wenn Sie die von Ihnen vorgeschlagene Änderung vornehmen, verschwindet die Warnung in PHPStorm. Irgendwelche Gedanken darüber, warum das so ist?

    – Elixenid

    24. Oktober 2014 um 2:39 Uhr

  • Ich sollte darauf hinweisen, dass mein echter Quellcode Teil eines bestehenden, in freier Wildbahn bereitgestellten Projekts ist, daher würde ich die Warnung lieber in PHPStorm verschwinden lassen, als alle Verwendungen von zu ändern $ Zu jQuery. Danke.

    – Elixenid

    24. Oktober 2014 um 2:41 Uhr

  • es sieht aus wie ein King of IDE-Konfigurationsproblem … siehe auch bloglovin.com/…

    – Arun P. Johny

    24. Oktober 2014 um 2:50 Uhr

  • @JoaoCunha Die Variablennamen selbst spielen keine Rolle; Es stellte sich heraus, dass ich einfach die unkomprimierte Version von jQuery in mein Projekt aufnehmen musste.

    – Elixenid

    24. Oktober 2014 um 3:04 Uhr

Benutzeravatar von elixenide
Elixenid

Ich habe meine Antwort dank Arun P Johny. Ich musste jquery-1.11.1.js (die unkomprimierte Version) irgendwo in meinem Projekt haben. Ich habe es hinzugefügt, und PHPStorm hat sofort alle jQuery-bezogenen Warnungen behoben.

  • Jetzt, 6 Jahre später, haben wir jQuery 3.5.1 und PhpStorm hat es in seinem Cache ~/.config/JetBrains/PhpStorm2020.2/javascript/extLibs/http_ajax.googleapis.com_ajax_libs_jquery_3.5.1_jquery.js ist die unkomprimierte Version und zeigt diese Meldung an $object.fadeOut(1000);– irgendeine Idee?

    – Peter VARGA

    25. Oktober 2020 um 20:51 Uhr


Eine andere Lösung wäre, jQuery hier als Bibliothek hinzuzufügen:

Klicken Sie im Dialogfeld „Einstellungen/Präferenzen“ unter „Sprachen und Frameworks“ auf „JavaScript“ und dann auf „Bibliotheken“.

  • Tatsächlich löste dies das Problem zu dem Zeitpunkt, als dies auftrat, nicht. Ich bin mir nicht sicher, ob es das Problem mit den neuesten Versionen von PHPStorm lösen würde.

    – Elixenid

    8. Dezember 2017 um 15:34 Uhr

Dies ist normalerweise mit phpstorm verbunden, also laden Sie entweder die unkomprimierte Jquery-Version herunter und verwenden Sie sie oder verwenden Sie Jquery mit CDN, es wird behoben.

  • Ich habe diese Frage (mit Hilfe eines anderen Benutzers) gelöst und vor 4,5 Jahren meine eigene Antwort gepostet und akzeptiert. Ihre Antwort fügt dieser Antwort nichts hinzu. Und ich weiß, dass das Problem spezifisch für PHPStorm ist; Deshalb habe ich in meiner Frage und meiner Antwort PHPStorm erwähnt und das PHPStorm-Tag verwendet.

    – Elixenid

    13. Oktober 2020 um 3:08 Uhr

1442740cookie-checkMethodenausdruck ist nicht vom Funktionstyp

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy