0

私はこの問題を解決しようとして夢中になりました。

私のJavaScriptコードでは、HTMLテーブルを文字列の形式で配置する文字列変数を定義しています..つまり:

var tData="<table><tbody><tr><a><th>Type</th><th>Score</th><th>Percentile</th></a></tr><tr><td><a>Overall</a></td><td>2.4</td><td>50%</td></tr><tr><td><a>Best 100</a></td><td>2.3</td><td>70%</td></tr></tbody></table>";

現在、文字列によるこの変数の割り当ては、改行のある HTML コードとしてブラウザー (chrome と firefox の両方) によって読み取られています。より明確にするために、下の画像を見てください。

HTMLタグを削除して単純な文字列を書くと、コードは正常に機能します。したがって、以前の逆コンマ エラー (複数回チェックしました) や偽の文字がないことを保証できます。

ここに画像の説明を入力

私はこの問題に多くの時間を費やしました。これについて私を助けてください。

編集

これはワードプレスの問題であるため、タイトルとタグにワードプレスを追加しました。

4

4 に答える 4

2

ドキュメントはXHTMLであるため、コードをCDATAセクションに含める必要があります。

<script>
<![CDATA[
    // code here
]]>
</script>

<...>これにより、ブラウザがコンテンツ内のシーケンスをタグとして解釈するのを防ぎます。

于 2013-03-11T10:28:57.523 に答える
1

JavaScript で複数行の文字列が必要な場合は、改行をエスケープ解除する必要があります。

var str = "abc\
de";
于 2013-03-11T10:26:56.117 に答える
1

Ok。ユーレカ!!!

私は回避策を見つけました。次の文字列を壊しました:

var tData="<table><tbody><tr><a><th>Type</th><th>Score</th><th>Percentile</th></a></tr><tr><td><a>Overall</a></td><td>2.4</td><td>50%</td></tr><tr><td><a>Best 100</a></td><td>2.3</td><td>70%</td></tr></tbody></table>";

の中へ

  var tData = "<tab"+"le><tb"+"ody><t"+"r><a><t"+"h>Type</t"+"h><t"+"h>Score</t"+"h><t"+"h>Percentile</t"+"h></a></t"+"r><t"+"r><t"+"d><a>Overall</a></t"+"d><t"+"d>2.4</t"+"d><t"+"d>50%</t"+"d></t"+"r><t"+"r><t"+"d><a>Best 100</a></t"+"d><t"+"d>2.3</t"+"d><t"+"d>70%</t"+"d></t"+"r></tbo"+"dy></ta"+"ble>";

ブラウザをだます。私はまだより良い答えを望んでいます。

于 2013-03-11T11:15:20.047 に答える
0
Delete all invisible characters (whitespace) around that area,
then give it another try.

これを試して:

var tData="<table><tbody>";
tData+="<tr><th><a>Type</a></th><th>Score</th><th>Percentile</th></tr>";
tData+="<tr><td><a>Overall</a></td><td>2.4</td><td>50%</td></tr>";
tData+="<tr><td><a>Best 100</a></td><td>2.3</td><td>70%</td></tr>";
tData+="</tbody></table>";

重複の可能性「予期しないトークンILLEGAL」の目に見える原因はありません

于 2013-03-11T10:29:43.113 に答える