2

フォルダーから画像のリストを読み取って、画像の背景を持つ DIV を作成しようとしています (画像スライダーとして使用するため)。私が書いたjQueryは次のとおりです。

$.getJSON('../functions.php', function(images) {
  images.each( function() {
    $('#main').prepend('<div class="slider" style="background-image:url(' + ' (this) + ');"></div>');
  });
});

残念ながら、これは機能していません...コンソールに表示されるエラーメッセージは次のとおりです。

Uncaught SyntaxError: Unexpected token ILLEGAL

私は何を間違っていますか?ありがとう!

4

2 に答える 2

3

SO の構文の強調表示により、次のように変更する必要があるという手がかりが得られました。

$('#main').prepend('<div class="slider" style="background-image:url(' + this + ');"></div>');

あなたはそこに余分な引用符を持っていました(そして()周りは必要ありませんthis...しかし、それは害はありません.

更新

引用の問題が処理され、他の ERROR を受け取った後、 JSON がオブジェクト リテラルでは使用できない でimages反復処理されようとしていることが問題のようでした。jQueryオブジェクト(でラップ)またはオブジェクト/配列を反復する呼び出し()のいずれかで使用されます。次のようなものを使用する必要があります。.each.eachimages$()$.each()

$.each(images, function () {    // <---- I prefer
// or
$(images).each(function () {
于 2012-11-03T04:33:46.333 に答える
1

見積もりを適切に閉じていません。それとは別に、それimagesが配列であると仮定すると、オブジェクトのメソッドへのアクセスを取得するために、jQuery オブジェクトでラップする必要があり$.each()ます。それ以外の場合は、@ Ian が既に述べたよう$.each(array, function() { //do stuff });に、別の観点から使用し、配列を最初の変数として渡すだけで、無名関数で何を行うかを指定できます。

前にあなたが色盲だと言ったように、構文の強調表示は役に立たないので、少なくとも引用符のペアを数えることをお勧めします. 非常に冗長なコードでは..これは難しくなります..私が提案できる唯一の他のものは、NetBeans(私が個人的に使用するもの)などのIDE(統合開発環境)です。

$.getJSON('../functions.php', function(images) {
    $(images).each( function() {
        $('#main').prepend('<div class="slider" style="background-image:url(' + this + ');"></div>');
    });
});
于 2012-11-03T04:34:32.807 に答える