简体   繁体   中英

valid html - '<' or '>' in between <script>tags

When I use the html validator:

http://validator.w3.org/

It gives me an error. In the header of my page, I have something like this:

<script type="text/javascript"> 
$(document).ready(function(){
    $('#countdown').countdown({
        until: '+2d+3h+1m+6s',
        layout: '{d<}{dn} {dl}, {d>}{hnn}:{mnn}:{snn}'
    });
});
</script>

The part within layout that is given a string contains a < . The validator is giving an error.

Do I just discount this, since it's part of a script tag? Is it something with the validator?

I know some might suggest putting it in an external file, but it's dynamic and I don't want to figure that out.

You wrap it with CDATA

<script type="text/javascript"> 
//<![CDATA[
$(document).ready(function(){
    $('#countdown').countdown({
        until: '+2d+3h+1m+6s',
        layout: '{d<}{dn} {dl}, {d>}{hnn}:{mnn}:{snn}'
    });
});
//]]>
</script>

Reference: https://developer.mozilla.org/en/properly_using_css_and_javascript_in_xhtml_documents

As mentioned in the HTML 4 Recommendation's note about specifying non-HTML data in element content, end tags are recognized within SCRIPT elements, but other kinds of markup --such as start tags and comments--are not. This is an unintuitive quirk of SGML for elements defined to have CDATA content.

Try

    <script type="text/javascript"> 
$(document).ready(function(){
    $('#countdown').countdown({
        until: '+2d+3h+1m+6s',
        layout: '{d<}{dn} {dl}, {d\>}{hnn}:{mnn}:{snn}'
    });
});
</script>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM