2016-11-10 6 views
0

私のアプリのpiechartを描画するためにグラフを使用しています。私highchartコンテナの配列を与えるEXTJsの要素クラスにクラスを追加する方法

Ext.query('.highcharts-container') 

をし、私はいくつかのカスタムCSSを追加するためにそれらの一つ一つにカスタムクラスを追加したい:私は持っています。私は試みました:

Ext.query('.highcharts-container').addCls("test") 

しかし、 "addCls"は機能ではありません。 は、以下のことがどのように見えるかのIMGである:以下の答えに

enter image description here とアコード、私は別々のアプリでそれを追加してみました、それが動作しますが、手掛かりwhts undefined.noこの場合、何らかの理由でそれに一定のショーやっている?

+0

注意を、それはそれで構文エラーがあります。 –

+0

ログを見ると、 'd'と一致する要素はありません。とにかく、実際のテストケースを投稿しない限り、間違っている可能性のあるすべての薄いものを推測することはできません。 –

答えて

0

Ext.queryは一致するコンポーネントの配列を返します。あなたは確信している場合は、常に配列の正確に1項目があるでしょう、あなたが使用することができます。

Ext.ComponentQuery.query('.highcharts-container')[0].addCls("test") 

そうでない場合は、あなたがアイテムをループし、各構成要素にクラスを追加する必要があります。

Ext.ComponentQuery.query('.highcharts-container').forEach(function (item) { 
    item.addCls("test"); 
}); 
+0

私は最初のケースを試しました。それはエラーです:Ext.query(...)[0] .addClsは関数ではありません。また、私は2番目のexを試したとき:それは言う:Ext.query( "...")。それぞれは関数ではない、これはいくつかのバージョンの問題ですか? – user1234

+0

'each'ではなく' forEach'でなければなりません。回答が修正されました。あなたが使用している唯一のチャートであれば、 'Ext.ComponentQuery.query( 'chart')'を使うこともできます。 – chrisuae

+0

確かに、それぞれ解決されていますが、それでも "addCls"エラーは引き続き発生します。私はまだこれを得る: "TypeError:item.addClsは関数(...)ではありません" ..別の方法はありますか? – user1234

1

Ext.queryは配列を返します。代わりに、を返すExt.selectを使用します。それはあなたが要素のグループにExt.dom.Elementメソッドを実行することができます:あなたが投稿フィドルが無効であることを

Ext.select('.highcharts-container').addCls("test");

+0

は未定義です。もう一度バージョンが間違っていますか? – user1234

+0

私はそれを疑う。テストケースを投稿することをお勧めします。 'Ext.select'がクラスを追加しています:https://fiddle.sencha.com/#fiddle/1k7j –

関連する問題