1

私の static_pages.js.coffee ファイルに次のコードがあり、私のサイトに他のページをロードするときを除いて、このコードが実行され、.orders-chart を探します。ページにその div がない場合、High Charts はエラーをスローし、他のすべての jQuery を中断します。

jQuery ->
$ ->
  new Highcharts.Chart
    chart: 
      renderTo: "orders-chart"
    title:
      text: "Orders by Day"
    xAxis:
      type: "datetime"
    yAxis:
      title:
        text: "Some Measurable"
    series: [
      pointInterval: 24 * 3600 * 1000
      data: [1, 2, 3, 5, 7]
    ]

このコードを実行する前に .orders-chart を確認する方法はありますか? それとも物事を行うためのより良い方法ですか?

4

2 に答える 2

0

私はhighChartが探している#orders-chartとは思わない.orders-chart ので、あなたは持っている必要があります

 <div id="orders-chart" ></div>

そしてそうではない

 <div class="orders-chart" ></div>

存在するかどうかを確認するには、次を使用できます

if ($("#orders-chart").length>0) {
   // Call chart constructor here
}

フィドル@ http://jsfiddle.net/jugal/bD487/

于 2012-08-10T18:16:51.003 に答える
0

あなたのRuby実装でこれを書く方法はわかりませんが、単純なjQueryコードでは、長さを使用できる要素の存在を確認します:

if ($(".orders-chart").length) {
    // .orders-chart exists, do stuff...
}
于 2012-08-10T15:46:11.297 に答える