jquery.tmpl模板打破了XHTML验证

时间:2011-05-10 14:01:59

标签: jquery jquery-templates

我的文档包含以下doctype:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">

模板声明如下:

 <script id="tmpl-periods-options" type="text/x-jquery-tmpl">   
        {{each plans_array}} 
            <label><input type="radio" value="${$value.id}" name="pf-periods" {{if $value.selected}}checked="checked" {{/if}} />${$value.title}</label>
        {{/each}}           
    </script>   

http://validator.w3.org/向我显示有关在<script>标记内声明的html代码的错误。

有没有解决方案?

1 个答案:

答案 0 :(得分:3)

普通的JavaScript技术不起作用,因为这不是JavaScript;只需将模板包裹在//<![CDATA[ ... //]]>//<!-- ... //-->中,只会导致更糟糕的问题。

正如this blog post中所建议的那样,最好的选择似乎是使用HTML 5或将模板放在外部文件中并包含它。

$(document).ready(function() {
    $.get('template.html', function(content) {
        $.template('template name', content);
    });
});