xero xero - 4 months ago 87x
jQuery Question

Jquery with Typescript : Property 'css' does not exist on type 'ElementFinder'

I'm trying to use jquery in my angular2 project which is getting build with webpack .
I got the webpack angular2 starter kit from here :

However ,I can't figure out how to get rid of these errors as my build is failing because of them .

This is my typings.json

"globalDependencies": {
"angular-protractor": "registry:dt/angular-protractor#1.5.0+20160425143459",
"angular2-beta-to-rc-alias": "file:./node_modules/@angularclass/angular2-beta-to-rc-alias/src/beta-17/typings.d.ts",
"core-js": "registry:dt/core-js#0.0.0+20160317120654",
"hammerjs": "registry:dt/hammerjs#2.0.4+20160417130828",
"jasmine": "registry:dt/jasmine#2.2.0+20160505161446",
"jquery": "github:DefinitelyTyped/DefinitelyTyped/jquery/jquery.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
"node": "registry:dt/node#6.0.0+20160514165920",
"selenium-webdriver": "registry:dt/selenium-webdriver#2.44.0+20160317120654",
"source-map": "registry:dt/source-map#0.0.0+20160317120654",
"uglify-js": "registry:dt/uglify-js#2.6.1+20160316155526",
"webpack": "registry:dt/webpack#1.12.9+20160321060707"

I've tried :

typings install dt~jquery --global --save

As well , but the error is still here :

Property 'css' does not exist on type 'ElementFinder'.

And :

Subsequent variable declarations must have the same type. Variable '$' must be of type 'cssSelectorHelper', but here has type 'JQueryStatic'.


You'll need to define jQuery typings, I'm using :


And it's working fine for me .

I had the same issue and I had to download this typings myself and put it in my folders somewhere .

Then in your tsconfig.js

  "files": [
    "./src/jquery-typings-custom/index.d.ts",  !!!!!!! This is the folder where I put those typings downloaded from the url

And then , in one of your components ( probably the root one , which is normally app.ts ) you should do :

       declare var jQuery : JQueryStatic;

And then instead of using $ , you should start using jQuery(There is a workaround for this issue as well , but I didn't care ) .