【问题标题】:jquery.tmpl templates break XHTML-validationjquery.tmpl 模板破坏了 XHTML 验证
【发布时间】:2011-08-22 12:23:49
【问题描述】:

我有以下文档类型的文档:

<!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/ 向我显示有关在 &lt;script&gt; 标记内声明的 html 代码的错误。

有什么解决办法吗?

【问题讨论】:

    标签: jquery jquery-templates


    【解决方案1】:

    普通的 JavaScript 技术不起作用,因为这不是 JavaScript;简单地将模板包装在 //&lt;![CDATA[ ... //]]&gt; 或 //&lt;!-- ... //--&gt; 中只会导致更严重的问题。

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

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

    【讨论】:

    • 是的,我首先尝试了 CDATA,但没有运气——最终的 ]]&gt; 成为模板的一部分(虽然它可以被删除)。
    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    • 2015-12-19
    • 2012-02-25
    相关资源
    最近更新 更多