0

私は現在、作成した標準の JavaScript フィード パーサーを Instagram のクエリ用に変換することで、CoffeeScript を試しています。私は壁に頭をぶつけて、for ループ内でロジックを動作させようとしました。単純な for ループを Web 上の何百もの例に従って動作させることができますが、まだ取得していません。 for ループ内のコードが増えます。私はこれに完全に間違っていますか?関数に渡す引数「結果」は JSON オブジェクトです。

_feed: (results) ->
    images = results.length
    for img in images
      a = document.createElement('a');
      a.href = results.data[i].images.standard_resolution.url;
      img = document.createElement("img");
      img.src = results.data[i].images.low_resolution.url;
      a.appendChild(img);
      document.getElementsByTagName('body')[0].appendChild(a);

予期しないアウトデントというエラーが発生し続けます。任意のヒント?

4

2 に答える 2

3

代わりに次のようなことを試します。

_feed: (results) ->
    for result in results.data
        a = document.createElement 'a'
        a.href = result.images.standard_resolution.url

        img = document.createElement 'img'
        img.src = result.images.low_resolution.url

        a.appendChild img
        document.body.appendChild a

主な違いは、forループが の各項目を反復することですresults.dataresults.data[i]アイテムごとに反復している場合、これは実際には必要ありません。

于 2013-03-06T01:53:57.803 に答える
0

ハード タブではなくソフト タブ (スペース) を使用するエディターを使用していることを確認してください。すべての行が期待どおりにインデントされていることを確認します。最初の 2 行に 2 つのスペース、他の行に 4 つのスペース。そうしないと、タブとスペースが混在するエラーが確実に発生します。

また、コードの最後にランダムなバックティックがあることもわかります。それは実際のコードにありますか、それともここにコピーしただけですか?

また、セミコロンの無視を開始します。あなたはそれらを必要としません:)

于 2013-03-06T01:53:43.573 に答える