URLハッシュの場所を取得し、jQueryで使用する 質問する

URLハッシュの場所を取得し、jQueryで使用する 質問する

現在のページの 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'

アドバイス:ユーザーは変えられるハッシュを必要に応じてセレクターに挿入する場合は、使用する前にハッシュを確認する必要があります。

おすすめ記事