文字列と変数を使用してjQueryDOMオブジェクトを作成できない理由を理解しようとしています(変数も文字列であっても)。
//Works
var test1 = $('#test');
test1.addClass('success');
//Works
var test2 = '#test';
$(test2).addClass('success');
//Fails
var test3 = 'test';
$('.' + test3).addClass('success');
//Fails
var id = 'test';
var test4 = '.' + id;
$(test4).addClass('success');
おそらく基本的なものが欠けているように感じますが、これに関するjQueryドキュメントには何も見つかりません。
編集:ああ、私は例で間違ったセレクターを使用したことに気づいたはずです。jsFiddleが実際に修正されたので、mcpDESIGNSの回答を選択しました。ただし、コードでエラーが発生していました。(「キャッチされない例外:構文エラー、認識されない式:。」)誰かが興味を持った場合に備えて、次のようになりました。
URLの現在のハッシュを取得し、文字列を変数として保存し、それを使用してjQuery DOMオブジェクトを作成し、そのオブジェクトを関数に渡そうとしていました。
var hashTag = window.location.hash;
hashTag = hashTag.substr(1);
currentObject = $('.'+hashTag);
setSpriteX(currentObject);
URLにハッシュがない場合は、自分が考慮していないことがわかりました。hashTag = 'defaulthash';
設定する前に追加するだけで済みましたcurrentObject
。