2009-04-29 153 views
0

我使用JS的一個小片段的表象元素添加到我的引用文字(As seen here):如何驗證JavaScript?

<script type="text/javascript"> 
    $('blockquote.message').append('<span class="arrow" />'); 
</script> 

但W3C驗證討厭的垃圾:

文件類型不允許元素「跨度」在這裏

我在做什麼錯?有沒有辦法糾正這個錯誤,同時保持該功能?

謝謝!

回答

6

我想你」重新使用XHTML?你需要換你的JavaScript在CDATA:

<script type="text/javascript"> 
//<![CDATA[ 
     $('blockquote.message').append('<span class="arrow" />');  
//]]> 
</script> 

看到這裏的XHTML參考:http://xhtml.com/en/xhtml/reference/script/ - 「如果腳本元素包含嵌入腳本,該腳本包含XHTML標記字符,如<,>,&和」,那麼,腳本應該包含在CDATA中「

+0

謝謝!我也看到了你對另一個答案的評論。是否通過JavaScript添加跨度到blockquote問題?如果那樣會更好,我也可以自我關閉。 – 2009-04-30 01:31:17

4

blockquote tag只能包含如block elements P,H1..n,OL/UL,PRE,DL,DIV,NOSCRIPT,BLOCKQUOTE,FORM,HR,表,FIELDSET,地址

+0

W3C驗證器不會運行JavaScript,因此它不知道他是否將一個跨度添加到塊引用中,它看到了他的代碼中的」和標籤之間的所有內容,因此您需要CDATA。 – RichieHindle 2009-04-29 20:57:10