このコード行に出くわしましたが、それが何を意味するのかわかりません。
$("#theAppContainer")[s > u ? "addClass" : "removeClass"]("something");
最初の部分は theAppContainer という要素を選択することであり、2 番目の部分は s > u の場合に "addClass" と評価されることは理解していますが、このコード行が全体的に何をするのかわかりません。
このコード行に出くわしましたが、それが何を意味するのかわかりません。
$("#theAppContainer")[s > u ? "addClass" : "removeClass"]("something");
最初の部分は theAppContainer という要素を選択することであり、2 番目の部分は s > u の場合に "addClass" と評価されることは理解していますが、このコード行が全体的に何をするのかわかりません。
角かっこの構文は nameでプロパティの値を取得し、かっこはそのプロパティの値である関数を呼び出します。それは以下と同等です:
var container = $('#theAppContainer');
if(s > u) {
container.addClass('something');
} else {
container.removeClass('something');
}
また、そのようなコードは絶対に書かないでください。=)
また、代わりに使用できるtoggleClass
2 番目の引数を取ります。switch
$('#theAppContainer').toggleClass('something', s > u);
$("#theAppContainer")
jquery オブジェクトを返します。
jqueryObject["addClass"]
と同義ですjqueryObject.addClass
したがって、jqueryObject["addClass"]
jquery オブジェクトの addClass メソッドを返します。
次に、("something")
パラメータをメソッドに渡して実行します。
だからあなたは本質的にやっている
var myJqueryObject = $("#theAppContainer");
if(s > u) {
myJqueryObject.addClass("something");
}
else {
myJqueryObject.removeClass("something");
}
角括弧表記。
$('#element')['hide'](700)
ドット表記:
$('#element').hide(700)
他のもの( ? : )が呼び出されますternary operator
ブール値を返すステートメント比較を行います。
Wheres>u
はステートメントであり、結果に応じて値が使用されます。
STATEMENT ? IF TRUE USE THIS : IF FALSE USE THAT ;
if s > u
use 'addClass'
else use which は、次
の DOT 表記に変換できるifおよび
ifを'removeClass'
取得することを意味します。$("#theAppContainer")["addClass"]("something");
s > u
$("#theAppContainer")["removeClass"]("something");
s===u || s<u
$("#theAppContainer").addClass("something");
また
$("#theAppContainer").removeClass("something");
toggleClass()
特定のケースでメソッドを
使用できるため、これは最善の方法ではありませんが、知っておくとよい方法です。
また、括弧表記を使用してはならないというのは正しくありません。高度な JS では、すべてのメリットが見られます。