1

私は JavaScript と Jquery にかなり慣れていませんが、文字のエスケープに関連していると思われる次の問題があります。

だから私はこの単純な JQuery スクリプトを持っています:

<script>
    $( document ).ready(function() {
      //alert(exludeUserAgent());
      if(exludeUserAgent()) {
          //$( "#sezioneBenvenuto" ).remove();
          //$( "#sezioneLogo" ).remove();
          $( "#sezioneLogin" ).remove();

          $( ".container" ).append( "<section id="sezioneErrore"><p>TEST</p></section>" );
      }
    });
</script>

問題は、追加ステートメントが実行されると、次のエラーが発生することです。

**SCRIPT1006: Previsto ')'**

この行で:

$( ".container" ).append( "<section id="sezioneErrore"><p>TEST</p>

id="sezioneErrore"を削除し、id 定義なしでセクション タグを追加しても問題ありません。

なんで?私は何が欠けていますか?問題はid="sezioneErrore"の " 文字である可能性がありますか? はいの場合、どうすればエスケープできますか?

4

1 に答える 1

4

構文エラーの原因となっている二重引用符を使用したため、文字列が壊れています。

このエラーを解決するには、次のいずれかを実行できます

  1. 一重引用符内で二重引用符を使用する(逆も同様)
  2. 文字列内の引用符をエスケープします

例:

外で一重引用符を使用する

$(".container").append('<section id="sezioneErrore"><p>TEST</p></section>');

または二重引用符内の単一引用符

$(".container").append("<section id='sezioneErrore'><p>TEST</p></section>");

二重引用符内で二重引用符を使用する場合は、エスケープします

$(".container").append("<section id=\"sezioneErrore\"><p>TEST</p></section>");

一重引用符でも同じ

$(".container").append('<section id=\'sezioneErrore\'><p>TEST</p></section>');
于 2015-09-07T10:52:48.443 に答える