jQueryを使用して、自分のウェブサイトのアンカーにスムーズにスクロールさせています。アンカーは、»ü、ä、ö«やその他のユニコード文字などのドイツ語のウムラウトを含むことができるようにプログラムで作成されます。 この関数は、ハッシュが参照する要素を選択するためにハッシュを使用します。jQueryセレクタではどのような文字が使用できますか?
// Smooth scroll to anchor position.
function smoothScroll (hash) {
var scrollTo = typeof $(hash).offset().top != undefined ? $(hash).offset().top: 0;
$('html, body').animate({
scrollTop: scrollTo
}, 800);
}
// Test smooth scroll.
smoothScroll ("#Akademie-für-Gestaltung");
これはChromeとSafariでは動作しますが、Firefoxでは動作しません。次のエラーが発生します。
Error: Syntax error, unrecognized expression: #Akademie-f%C3%BCr-Gestaltung...
これは私の質問につながります。どのキャラクタがjQueryセレクタで使用できるのかをどのように知ることができますか? jQuery documentationには次の文字のみが記載されています!"#$%&'()*+,./:;<=>[email protected][\]^{|}~
セレクタがすべての最新のブラウザで機能することを確認するには、どのように他の文字をエスケープする必要がありますか?
'-'はメタ文字です。セレクタとして使用している間は、エスケープする必要があります。 –
@RajaprabhuAravindasamy:いいえ、CSSセレクタで '-'をエスケープする必要はありません。 – CBroe
_ "jQueryセレクタではどの文字が使用できるのですか? "_ _まず、jQueryのドキュメントをチェックします。 https://api.jquery.com/category/selectors/ – CBroe