javascriptを用いた機能実装を行なっています。
下記のコードに、数値iをaddClass内で定義していますが、''内のコードは文字列に変換されるため、この結果を反映しても${i}のまま検出されてしまいます。
どうすれば、addClass内のiを数値に変えることが出来るか、些細な質問ですが、ご教授お願いします。
該当のソースコード
javascript
1$(".sell-upload-drop-box").change(function(e){ 2 i = 1; i < 5; i++; 3 $(this).addClass('have-item-${i}'); 4 $(".sell-upload-items").addClass('have-item-${i}');
+で連結するとかそういう話ではないのでしょうか?
+で連結するというのは、('have-item-' + ${i})という感じでですかね? これではエラー起きてしまって駄目でしたね。
${}要らないかと。
それは試しました。あと、他の方が解答してくださったように、バッククォートの中で数値に変えたいときに${}がないと、数値に変換されなかったので、${}がないと駄目ですね。
どんな環境なんでしょうか、 ('have-item-' + i)
('have-item-' + ${i})の中での${}がいらないという意味でしたか。その条件でやったら上手くいきました。意味をちゃんと捉えられず申し訳ありません。
なるほどそういうことですね。テンプレートリテラルが使いたいならそう書いた方が良いかもしれません。変数は基本的に宣言したままの状態で使うのが基本です。もちろんヒアドキュメントやテンプレートリテラルを使う場合はこの限りではありませんが。
特にテンプレートリテラルを使いたいという訳ではなかったのですが、過去に書いたコードに似たような書き方をしていたので、それに従って使っていただけですね。今回もわざわざ詳しい解説をしていただいてありがとうございます。
回答1件
あなたの回答
tips
プレビュー