jQueryで名前を使ってメソッドを呼び出す方法はありますか?たとえば、次のようにjQuery:文字列からメソッドを実行
var condition = true;
$('div').execute(condition ? 'show':'hide');
jQueryで名前を使ってメソッドを呼び出す方法はありますか?たとえば、次のようにjQuery:文字列からメソッドを実行
var condition = true;
$('div').execute(condition ? 'show':'hide');
はい、(むしろ.
を使用してリテラルのものより)jQueryオブジェクトのプロパティにアクセスする[]
表記を使用します。
$('div')[condition ? 'show' : 'hide']();
あなたはまた、行うことができます。
$('div').toggle(condition);
編集:あなたは、コードの独自のスタイルを好む念のために、あなたはこれを追加することができます。
$.fn.execute = function(a) {
return this[a].apply(this, [].slice.call(arguments, 1));
}
次に、あなたは次のように行うことができます。
$('div').execute(condition ? 'show' : 'hide');
または
$('div').execute(condition ? 'keydown' : 'keyup', function() {...});
Javascriptオブジェクトは基本的に辞書です。
var condition = true;
$('div')[condition ? 'show':'hide']();
トグル:-)を使用してください。 – Alex
あなたは何をしようとしていますか?メソッドのディクショナリベースのアクセスを含むより良い解決策はないかもしれません。 – Spycho