Las plantillas jquery.tmpl rompen la validación de XHTML

Tengo un documento con el siguiente tipo de documento:

<!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">

Las plantillas se declaran de la siguiente manera:

 <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/ me muestra errores sobre el código html que se declara dentro <script> etiqueta.

¿Hay alguna solución?

preguntado el 10 de mayo de 11 a las 14:05

1 Respuestas

Las técnicas normales de JavaScript no funcionan porque esto no es JavaScript; simplemente envolviendo la plantilla en //<![CDATA[ ... //]]> or //<!-- ... //--> solo causa peores problemas.

Como se sugiere en esta entrada del blog, parece que las mejores opciones son usar HTML 5 o colocar la plantilla en un archivo externo e incluirlo.

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

contestado el 25 de mayo de 11 a las 16:05

Sí, probé CDATA en primer lugar, sin suerte, final ]]> se convirtió en parte de una plantilla (aunque se puede eliminar). - artvolk

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.