2011-01-29 40 views

答えて

2

あなたは良いことではありませんあなたがループしている上i変数を変更しようとしていることを言及しないように、あなたのコード内のいくつかの非常に壊れてめちゃめちゃ簡単で、二重引用符を持っています。

$('li').each(function (index) { 
    $(this).append(
     $('<span/>').addClass('commentnumber').text('#' + (index + 1)) 
    ); 
}); 

またはあなたが好む(単純な二重引用符に注意してください)の場合:

$('li').each(function (index) { 
    $(this).append('<span class="commentnumber">#' + (index + 1) + '</span>'); 
}); 

そしてdemo here次のように試してみてください。この代わりに

$(this).append("<span class="commentnumber"> #' i '</span>"); 

用途:

$(this).append("<span class='commentnumber'> #" + i + "</span>"); 

文字列の区切り文字は、現在一致していることを注意して文字列を連結するための+の使用

3

この行は問題です。

あなたのコードを更新する場合、それは動作します - http://jsfiddle.net/U8byW/14/


そして、はい、i = i + 1;は、単一のライン文のi++と同じです。

1

このソリューションを試してください:あなたがたとあなたが持っていたhttp://jsfiddle.net/U8byW/10/

問題:

  • あなたがclass="commentnumber"を言ったとき、あなたはエラーの原因となって、JSの文字列を破壊した(Uncaught SyntaxError: Unexpected identifier
  • あなたドンiを増やす必要はありません.jQueryがそれを処理します。しかし、あなたの質問に答えるために、i = i + 1i++は大体同じものです。違いは、i = i + 1は新しい値(1が追加されている)を返し、i++は古い値を返し、を1つ増やします。 i += 1または++iを使用することもできます。これらはすべてほぼ同等です。
  • JavaScriptは自動的にPHPやその他の言語を好むために、文字列の書式設定や文字列内の変数の挿入は行いません。変数を挿入するには、文字列を連結する必要があります。私は上記の更新されたリンクであなたのためにそれをしました。文字列連結演算子(+)は、一部の言語とは異なり、加算演算子(+)と同じです(PHPなど、連結は.となります)。

これが役に立ちます。

編集:私がなぜ増分しているのか分かりましたi:行が0ではなく1で始まるようにしました。あなたがそれを増やす必要はないと言って私を無視してください。私はまっすぐ考えていませんでした。

関連する問題