2017-09-22 14 views
3

現在、jQueryでエフェクトを実行しようとしています。しかし、私は$("#something").hide()のようなことをしたくないと思っています。文字列にエフェクトを指定したいと思います。次に例を示します。文字列で指定されたエフェクトを実行

var selector = "#myElement"; 
var effectString = "hide"; 
$(selector).effect(effectString); 

私はこのコードを上に見て、明らかにそのように動作しなかったが、いくつかの理由でeffect()方法が削除されているようです。

私が使用できる選択肢があれば私の質問です。または、このような機能が意図的に削除されていますか?私はjquery-3.2.1を使用しています。

ご協力いただきありがとうございます。

答えて

6

セレクタに対する応答が目的であるため、このような変数を使用してメソッド名にアクセスし、それらを呼び出すためにブラケット表記法を使用することができます。

var selector = "#myElement"; 
 
var effectString = "hide"; 
 
$(selector)[effectString]();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    Part of this <span id="myElement">string</span> will be hidden 
 
</div>

関連する問題