答えて
は内蔵、私はそうは思いませんが、あなたはそうのようなジェリー - リグ1でした:
$(location.hash);
編集:おかげで、グラハム!
ANOTHER EDIT:ここ:target
にjQueryの同等の例です。古いブラウザはwindow.onhashchange
イベントを認識しないかもしれない、とlocation.hash
は、一般的に(location.hash = this.href.substring(this.href.indexOf('#'));
が事前に呼び出されていない限り、ハンドラ中にjQueryのセレクタに利用できない新しいハッシュをレンダリング)アンカータグのonclick
イベントのハンドラの終了時に更新されているので、我々はする必要があります代わりに、セレクタとしてクリックされたアンカーのクリッピングhref
値を使用します。http://jsfiddle.net/xPMzV/
簡単、ちょうど行います
$(window.location.hash)
それはdocument.querySelectorAll()
と:target
擬似両方をサポートするブラウザで動作します(IE7とIE8)を使わないブラウザではエラーをスローします。これは、jQueryがブラウザのネイティブdocument.querySelectorAll()
(利用可能な場合)を使用し、それ以外の場合はsizzleセレクタエンジンにフォールバックするためです。うるさく、Sizzle does not support the :target
selector:
シズルは、事実上すべてのCSS 3 Selectorsサポートしています - これはさえ、まれに、このような文書順で返さエスケープセレクタ(「.fooという\ +バー」)、Unicodeのセレクタ、および結果として実装されているいくつかの部品が含まれています。 CSS 3のセレクタのサポートにはいくつかの注目すべき例外があります(この決定の理由はfound hereをすることができます):
- :
- ルート:ターゲット
- :n番目の-最後の子
- 最後の型/:第一の型/:第n-最後の型/:/の型、n番目の専用の型
- :langの()
sizzleは:target
をサポートしていないため、jQueryは古いブラウザで使用されているとエラーになります。
さまざまなブラウザでこのページを試してみてください:http://jsfiddle.net/gilly3/NPNFg/
良いニュースは、:target
セレクタを自分で追加することは簡単ですです:
$.expr[":"].target = function (node) {
var t = location.hash.substr(1);
return t && node.id == t || node.name == t;
}
の作業のデモ:http://jsfiddle.net/gilly3/NPNFg/3/
編集:ますIE7とIE8を:target
のスタイル定義、replaを複製して:target
スタイルと連携させることができます:target
と.target
。ルール定義のセレクタで:target
疑似クラスを使用しようとすると、IE8はその上でチョークし、ルールをまったく解析しないため、定義全体を複製する必要があります。あなたのスタイルを複製した後、hashchangeプラグインを使用して、このコードを使用しますyour jsfiddleから適応デモの作業
$(function() {
try {
$(":target");
}
catch (err) {
$.expr[":"].target = function (node) {
var t = location.hash.substr(1);
return t && node.id == t || node.name == t;
}
$(window).hashchange(function() {
$(".target").removeClass("target");
$(":target").addClass("target");
});
}
});
- 1. CSSの前後に類似した疑似クラスがありますか?
- 2. 疑似要素または疑似クラスが無効
- 3. JQueryが疑似クラスにフェードする:ホバー
- 4. CSS疑似クラスとjQueryアニメーション?
- 5. jQuery複数疑似クラス
- 6. CSS:疑似クラスは
- 7. リストの疑似クラス
- 8. CSSの疑似クラス
- 9. JQueryが疑似クラスを破りました:スクリプト実行後にホバー
- 10. CSS3疑似クラスではない最初と最後の子
- 11. jQueryと隠れ:/後:疑似前のクラス
- 12. 疑似クラスでのjquery問題
- 13. HBaseの疑似分散テンプレートはどこにありますか?
- 14. 設定方法:疑似要素/クラスを無効にする:before疑似要素
- 15. CSS疑似クラス継承
- 16. CSS疑似クラスのアニメーション
- 17. 擬似クラスの前のcss3
- 18. なぜいくつかの疑似要素は疑似クラスのように見えますか?
- 19. ProvidersHelperに似たクラスがありますが、Webにはありません。
- 20. Excel疑似コード擬似コード
- 21. 疑似クラスが動作しない
- 22. Excelレイアウトに似たjqueryプラグインはありますか?
- 23. Javascriptの疑似乱数生成器はありますか?
- 24. :n番目の子()疑似クラスは、リスト
- 25. JQuery - 疑似クラスまたは擬似要素の識別子が必要ですが、 '。'が見つかりました。
- 26. ブラウザでcontains:)CSS3疑似クラスをテストするために使用できるツールはどれですか?
- 27. 疑似リアルタイムスレッド
- 28. NTPD疑似サーバ
- 29. エラー '(CSS 3.0): ":-webkit-autofill"は有効な疑似クラスではありません。
- 30. 疑似要素を使用するjquery
を私はあなたがpsudo・クラスを選択することができるとは思いません。 –
':target'コンセプトがjQueryとどのように機能するのかよく分かりません。 – lonesomeday
@lonesomeday私も!古いブラウザの代替機能があるのか不思議です。 –