4

私はこの問題を抱えています:

array[i].idAuthor は文字列変数です。この文字列を、append-String 内で呼び出される関数に渡したいと思います。

このコードは、Internet Explorer を除き、Chrome と Firefox で正常に動作します。IE で次のエラーが表示されます: SCRIPT1014: 無効な文字です

問題は`-Quotes .

次の例が私の問題を表現するのに役立つことを願っています。

<script>
(...)
    $("#id").append("<div onClick='myFunc(`" + array[i].idAuthor + "`);'>" + i + "</div>");
(...)
<script>

私の状況を処理する、または `-Quotes を IE と互換性のある別の文字に置き換える別の方法はありますか?

4

3 に答える 3

10

そこの文字列にバッククォート (`) を入れているようです。

onClick='myFunc(`" + ... + "`);'>

最新のブラウザーでは、バッククォートがテンプレート リテラルに使用されます。IE11 はテンプレート リテラルをサポートしていません。

代わりに、引用符をエスケープしてみてください。

onClick='myFunc(\"" + array[i].idAuthor + "\");'>
于 2016-05-19T19:32:48.610 に答える
2

通常の引用符を使用する必要がありますが、エスケープして、文字列の一部として解析されるようにします。

$("#id").append("<div onClick='myFunc(\"" + array[i].idAuthor + "\");'>" + i + "</div>");
//------------------------------------^^   ----------------------^^
于 2016-05-19T19:32:43.713 に答える