2014-10-24 11 views
12

Ho il seguente file JavaScript:espressione metodo non è di tipo Funzione

/*global $ */ 

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

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

In PhpStorm, children ottiene sottolineato con un avvertimento debole. Passaggio del mouse su di esso rivela questo messaggio:

espressione metodo non è di tipo Funzione

Questo file si trova nella stessa directory di jquery.min.js (v. 1.11.0, se quello che conta) .

Come posso risolvere questo?

Si noti che l'esempio precedente è un esempio minimalista sufficiente per riprodurre il problema; non è il mio vero codice, ma produrrà lo stesso risultato.

+1

sei sicuro che '$' si riferisce a jQuery? puoi provare 'var $ tr = jQuery ('table tr')' –

+0

Ok, questo è strano. Sì, sono sicuro che questo è ciò a cui si riferisce, nel senso che si riferisce sicuramente a jQuery quando lo eseguo. Ma facendo la modifica che hai suggerito, l'avviso scompare in PHPStorm. Qualche idea sul perché? –

+0

Vorrei sottolineare che il mio vero codice sorgente fa parte di un progetto esistente, implementato nel selvaggio, quindi preferirei far sparire l'avviso in PHPStorm piuttosto che cambiare tutti gli usi di '$' in 'jQuery'. Grazie. –

risposta

14

Ho la mia risposta grazie a Arun P Johny. Avevo bisogno di avere jquery-1.11.1.js (la versione non compressa) da qualche parte nel mio progetto. L'ho aggiunto e PHPStorm ha risolto immediatamente tutti gli avvisi relativi a jQuery.

0

Un'altra soluzione sarebbe quella di aggiungere jQuery come libreria qui:

dialogo Impostazioni/Preferenze, fare clic JavaScript in Lingue e quadri, quindi fare clic su Librerie.

+0

In realtà, questo non risolve il problema nel momento in cui ciò si è verificato. Non sono sicuro se risolverebbe il problema con le ultime versioni di PHPStorm. –

Problemi correlati