• ベストアンサー

jqueryの初歩的な質問

jqueryの初心者です。 以下の内容を解説していただけませんか? 複数の条件が一括して記述してあるのではないかと想像していますが、意味が分かりません。 それとこの内容の検索はどうやればヒットするのでしょう。 fields.eq( index + (event.shiftKey ? (index > 0 ? -1 : 0 ) : (index < total ? +1 : total ) ) ).focus();

質問者が選んだベストアンサー

  • ベストアンサー
  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.1

A ? B : C というのはJavaScriptの条件演算子(三項演算子)です。 式と演算子 - JavaScript | MDN https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Conditional_%28ternary%29_operator if文を使って書き直すと、以下のコードと同じ意味です。 ================================= var index_add; if ( event.shiftKey ) {  if ( index > 0 ) {   index_add = -1;  } else {   index_add = 0;  } } else {  if ( index < total ) {   index_add = +1;  } else {   index_add = total;  } } fields.eq( index + index_add ).focus(); ================================= > それとこの内容の検索はどうやればヒットするのでしょう。 JavaSciprtの演算子なので、JavaScriptのリファレンスを見ましょう。 検索で直接見つけるのは、 ? ; が条件演算子であることは知っていないとなかなか難しいと思うので、 (私は「JavaScript 条件演算子」で検索しましたが知らなければ出てこないでしょう) JavaScriptの学習をちゃんとやるのが近道な気がします。 一度見たことがあれば検索もしやすくなるでしょうし。

sakaki99
質問者

お礼

おかげさまでよくわかりました。 ありがとうございました。

関連するQ&A