jQuery
1 $('.index-btn').click(function() { 2 $('.active').removeClass('active'); 3 var clickedIndex = $('.index-btn').index(this); 4 $('.slide').eq(clickedIndex).addClass('active'); 5 6 // 1. 変数slideIndexに「.active」要素のインデックス番号を代入してください 7 var slideIndex = $('.slide').index($('.active')); 8 // 3. change-btn要素を表示してください 9 $(".change-btn").show(); 10 11 ⬇️に$がない理由 12 if (slideIndex == 0) { 13 $('.prev-btn').hide(); 14 } else if (slideIndex == 3) { 15 $('.next-btn').hide(); 16 } 17 }); 18
上記のslideIndexに$がいらない理由を知りたいです。
それと、比較演算子は===だったような気がするのですが、==だけでいいのですか?
部分だけではわからないので、転載もとの情報を追記してください。
プログラミング学習サイトの答えなので、URL貼っても飛べないんです。すいません。
実際に実行して試されましたか?
Progateの回答だったので、疑いもせず、実行はまだしていません。コードを書いて、実行してみます。
そうですね。kei344さんが回答に書かれているようにこれだけでは再現確認が難しい(というか変数の打ち間違いではくらいにしか思えない)ので、実際に動かされた方が良いですし、理解も進むかもしれません。もし変数未定義エラーが出れば回答のスペルミスということになるのでそちらの運営に問い合わせてください。
ちょっと回答とは違うのでこちらのコメントでかえさせていただきました。
修正されたコードの変数から$がなくなりましたが、これは?
まさにmts10806さんの言う通りで、varを書かずに$としていました。var slideIndexであれば、条件式の中身に$が付かないと理解できました。
kei344さん、mts10806さん質問の段階で間違えていました!ごめんなさい
そうですね。JavaScriptにとって$は「変数で使える文字列のうちの1つ」に過ぎません(PHP経験があればちょっと違和感あるかも) 1文字違えば、もっといえば大文字小文字でも違えば別のものと捉えて良いです。あとは==と===のところはkei344さんが回答している通りですね。解決されたようで何よりです。
ありがとうございました。今度から気をつけます。==と===についてはMDNも私にとっては難しくて、今の実力では使い分けられそうにないので、また質問投稿するかもしれません。笑
MDNはあくまで「仕様書」ですからね。要件と簡単なサンプルのみというのが多いです。色々なパターンをご自身で試してみて「こういうときはこう」みたいなのを実感していくと良いかもしれません。
やっぱり素人には難易度高めサイトですよね。そうですね。頑張ってみます!
回答1件
あなたの回答
tips
プレビュー