3

XHTML Strict マークアップを使用してサイトを作成しています。HTML 内に js スクリプトを配置する必要があります。

<script type="text/javascript">

$(document).ready(function () { $('#nav li#nav-strona-glowna').append('<a href="/platinium/" class="hover active"><span>Strona glowna</span></a>');

</script>   

残念ながら、このスクリプト内に "" タグがあるため、xhtml は有効ではなくなりました。xhtmlを削除せずに検証するにはどうすればよいですか?

4

6 に答える 6

6

CDATAタグが必要です。そのMDCページから盗まれた例:

<script type="text/javascript">
 //<![CDATA[
  var i = 0;

  while  (++i < 10)
  {
    // ...
  }
 //]]>
</script>

一般に、JS(およびCSS)を外部ファイルに含めることで、この問題を回避することをお勧めします。

于 2011-01-26T15:11:34.653 に答える
3

試す:

<script type="text/javascript">
  <![CDATA[
      $(document).ready(function () { $('#nav li#nav-strona-glowna').append('<a href="/platinium/" class="hover active"><span>Strona glowna</span></a>');
  ]]>
</script>
于 2011-01-26T15:11:53.087 に答える
1

CDATA ラッパー

 <script>
 //<![CDATA[

 // js goes here - bypasses browser HTML parser

 //]]>
 </script>

JavaScript で HTML マークアップを直接記述する必要のない HTML をページに挿入する方法を見つけることをお勧めします。コンテンツ、プレゼンテーション、および行動を分離しておくと、Web デザイナーとの関係はより強固になり、協力的になり、実り多いものになります。

ただし、それが不可能な場合は、CDATA ラッパーを使用して、ブラウザーが JavaScript を HTML として解析するのを防ぎます。

HTML Strict と呼ばれるのには理由があることに注意してください。

于 2011-01-26T15:12:07.190 に答える
1

アップデート

コードに問題があります。右中括弧と括弧がありません。もしかしてタイプミス?

XHTML 検証に関しては、JavaScript を別のファイルに入れるのが最善の方法です。それができない場合は、スクリプトの周りに CDATA セクションを追加します。

<script type="text/javascript">
//<![CDATA[
    $(document).ready(function () { $('#nav li#nav-strona-glowna').append('<a href="/platinium/" class="hover active"><span>Strona glowna</span></a>'); });
//]]>
</script>

JavaScript コメントは、XHTML を XML として解析しない IE などのブラウザー用にあることに注意してください。https://developer.mozilla.org/en/properly_using_css_and_javascript_in_xhtml_documentsを参照してください

于 2011-01-26T15:12:13.203 に答える
1
<script type="text/javascript"><![CDATA[
// your code
]]></script>

問題を解決する必要があります

于 2011-01-26T15:12:13.837 に答える
1

バリデーターは正確にどのようなエラーを出しますか? 投稿したコードはかなり有効に見えます。

ところで。非常に特定の理由で XHTML が必要ない場合は、

( http://xhtml.com/en/xhtml/serving-xhtml-as-xml/ )

有効なコードを作成できる HTML4 または HTML5 だけを使用した方がよいでしょう。

于 2011-01-26T15:16:57.577 に答える