我正在使用jQuery來平滑滾動到我的網站上的一些錨點。錨是以編程方式創建的,以便它們可以包含一些德語元音變音,例如»ü,ä,ö«或其他Unicode字符,例如»ß,è«等。 該函數使用哈希來選擇哈希引用的元素: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