3

Zeptoライブラリでこの問題を修正する方法を考えています。それは私が実行しようとしたときに起こりました:

$("#pro@");

それは次のような77行目を指しています。

$.qsa = $$ = function(element, selector){
    return slice.call(element.querySelectorAll(selector))
}

手伝ってもらえますか?

4

1 に答える 1

1

どの要素を選択しようとしていますか?名前に@文字が含まれていますか?例えば:

<div id="pro@">

@文字は予約文字であり、セレクターでは予期されていません。基本的に、ZeptoまたはjQueryは、「#pro」に加えて、理解できない「@」セレクターを探します。

これを回避する方法は、@文字をエスケープすることです。CSSでは「#pro \ @」を実行するため、JavaScriptでは次のようにする必要があります。

$("#pro\\@");

より良い戦略は、IDにaz、0-9、-、および_を使用することです。

于 2011-10-12T18:01:45.597 に答える