現在のページの URL のハッシュの後の値を取得し、それを新しい関数に適用できるようにしたいと思います。例:
URLは次のようになります
www.example.com/index.html#foo
これを次のコードと組み合わせて使用したいと思います
$('ul#foo:first').show();
これを取得して、2 番目のコードで使用できる変数に変換する何らかの方法があると想定/期待しています。
ベストアンサー1
編集者注:以下のアプローチは重大な安全保障上の問題また、使用しているjQueryのバージョンによっては、ユーザーがXSS攻撃にさらされる可能性があります。詳細については、この回答のコメントで考えられる攻撃に関する議論を参照するか、Security Stack Exchangeのこの説明。
あなたはlocation.hash
現在のページのハッシュを取得するプロパティ:
var hash = window.location.hash;
$('ul'+hash+':first').show();
このプロパティには#
先頭にシンボルがすでに含まれていることに注意してください。
:first
実際には、擬似セレクタは必要ありません。IDセレクター、IDは個性的DOM 内。
URL文字列からハッシュを取得したい場合は、String.substring
方法:
var url = "http://example.com/file.htm#foo";
var hash = url.substring(url.indexOf('#')); // '#foo'
アドバイス:ユーザーは変えられるハッシュを必要に応じてセレクターに挿入する場合は、使用する前にハッシュを確認する必要があります。