2010-03-21 110 views
2

在我使用jQuery的页面上运行验证会给我很多错误。 我逃过了结束标记,但不断收到错误。使用jQuery W3C标记验证错误

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#main").html('<p>hello world<\/p>'); 
    }); 
</script> 

回答

4

假设你使用XHTML作为DOCTYPE你应该换行的js代码包含HTML片段,片段CDATA

<script type="text/javascript"> 
    $(document).ready(function() { 
     /*<![CDATA[*/ 
     $("#main").html('<p>hello world</p>'); 
     /*]]>*/ 
    }); 
</script> 

为什么?:Mozilla Dev: Properly Using CSS and JavaScript in XHTML Documents

+0

喝彩!感谢“为什么?” – FFish 2010-03-21 10:58:34

1

这样做:

<script type="text/javascript"> 
//<![CDATA[ 
    $(document).ready(function() { 
     $("#main").html('<p>hello world</p>'); 
    }); 
//]]> 
</script> 

You can read a bit more on the topic here。基本的是,Javascript标签通常是CDATA元素,PCDATA带有XHTML(所以它看起来内部),为了安全起见,他们需要用这种方式标记。

+0

感谢您的链接尼克 – FFish 2010-03-21 10:57:50