我在满足XHTML Strict的类分配要求时遇到问题。类分配说要使用Java脚本生成表,但是只能在外部javascript文件中使用该数组。尝试满足XHTML Scrict要求时,这导致了一些问题。我打破的“规则”如下:



产生此错误的行是:

<script type="text/javascript">
    <!--
    for(var i=0; i<5;i++){
        document.write('<tr><td class="classes">');
        document.write(classArray[i]);
        document.write('</td></tr>');
    }
    -->
</script>

问题是此代码位于“body”标签中。我不确定如何复制此代码以将其放在头部,同时在页面上我想要的位置生成表格。任何帮助将非常感激。我真的对XHTML Strict或Javascript不太了解,这只是为期3周的类(class)的一部分,我的所有经验都来自演讲/阅读。

完整代码,可疑程度接近底部:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Career Goals</title>

        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <style type="text/css">
            body
                {
                    background-image:url('./images/marbleBG.jpg');
                    background-repeat:no-repeat;
                    background-position:right top;
                    background-size: 100% , 100%;
                    margin-top:5%;
                    margin-bottom:5%;
                    font-family: sarif;
                    text-align: center;
                    font-size: 18px;
                }
            table.main
                {
                    margin-left: auto;
                    margin-right:auto;
                    height: auto;
                    width: 65%;
                    border: 0px solid black;
                }
            table.classes
                {
                    margin-left: 15%;
                    margin-right:auto;
                    height: 100%;
                    width: auto;
                    text-align : left;
                    border-collapse: collapse;

                }
            td.classes
                {
                    text-indent : 25px;
                    border: 1px solid;
                    padding: .3em;
                }
            th.classes
                {
                    padding: .3em;
                    border: 1px solid;
                }
            table.centered
                {
                    margin-left: 15%;
                    margin-right: auto;
                    border: 0px solid black;
                }
            h1.title
                {
                    text-align: center;
                    padding-bottom:25px;
                }
            p.left
                {
                    text-align: left;
                    font-size: 16px;
                    text-indent: 25px;
                }

            li
                {
                    text-align: left;
                }
        </style>
    </head>

    <body>
        <script type="text/javascript" src="myarray.js" ></script>
        <script type="text/javascript" src="mycookie.js" ></script>

        <table class="main">
            <tr>
                <td>
                    <h1 class="title"> Career Goals </h1>

                    <p class="left">
                        My goals when I complete my computer science degree with Arizona State University will include
                        joining a corporation where I can improve my technical skills and assist in the growth of said company.
                        I would like to be a part of a team of programmers with common career interests where we can motivate each
                        other to visibly show improvement as our careers progress.
                    </p>

                    <p class="left">
                        In my study with Arizona State University I have learned many popular programming languages. In my career I plan
                        on utilizing most, if not all, of the languages I know. The programing languages I know include:
                    </p>

                    <table class="centered">
                        <tr>
                            <td>
                                <ul>
                                    <li>Java</li>
                                    <li>C/C++</li>
                                    <li>Scala</li>
                                    <li>Java Scripting</li>
                                    <li>PERL Scripting</li>
                                    <li>Unix Scripting</li>
                                    <li>HTML/XHTML</li>
                                </ul>
                            </td>
                        </tr>
                    </table>

                    <p class="left">
                        With Arizona State Univeristy I did not just learn programming languages, I learned industry practicies. In my career
                        I expect to utilize msot of these techniques, as well as learn new practicies to improve the quality of software I
                        assist in creating. The techniques taught by Arizona State University include:
                    </p>
                    <table class="centered">
                        <tr>
                            <td>
                                <ul>
                                    <li>Extreme Programming</li>
                                    <li>Paired Programming</li>
                                    <li>Code Reviews</li>
                                    <li>Refacotring Sessions</li>
                                </ul>
                            </td>
                        </tr>
                    </table>



                </td>
            </tr>
            <tr>
                <td>

                    <p class="left"> At Arizona State University I have taken many classes to progress
                    in my computer science degree. Some of the classes that I have taken that may assist in my career goals are:
                    </p>

                    <table class="classes">
                        <tr>
                            <th class="classes">
                                <b>Classes Taken for Computer Science Major</b>
                            </th>
                        </tr>
                            <script type="text/javascript">
                                <!--
                                for(var i=0; i<5;i++){
                                    document.write('<tr><td class="classes">');
                                    document.write(classArray[i]);
                                    document.write('</td></tr>');

                                }
                                -->
                            </script>
                    </table>

                </td>
            </tr>

            <tr>
                <td>
                    <p class="left">
                        More of my skills and goals can be found on my <a href="resume.html">resume</a>. If you feel my career goals would be a great addition
                        to your team you can contact me using my <a href="contact.html">contact form</a>.
                    </p>

                </td>
            </tr>
        </table>
         <p>
            <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
        </p>
    </body>
</html>

最佳答案

表中不允许脚本元素,除非它们位于数据或标题单元格中。如果要从脚本生成表的一部分,则必须从脚本生成表的所有。

顺便说一句,在XHTML中,注释是注释,因此实际上您没有脚本,只有包含注释的script元素。您可能没有注意到,因为您可能正在告诉浏览器将文档视为HTML(本地文件具有.html文件扩展名,而HTTP上提供的则是text / html内容类型)。 摆脱注释。然后,您会发现脚本中的<将生成更多错误(因为标记是XHTML中脚本内的标记(与HTML不同)。 Wrap the content with CDATA flags

一般来说,我不建议将XHTML用于任何新项目。当您假装为HTML时,应该如何处理XHTML和浏览器如何处理它之间的差异使它变得更麻烦,值得这样做。

您似乎也拥有适合列表的数据,而不是适合表的数据(只有一个列是一个大提示),因此我将完全摆脱该表。

10-05 20:39
查看更多