Почему этот UL и встроенный JS выдают ошибки во время проверки HTML? - PullRequest
0 голосов
/ 01 июня 2010

Я только что запустил домашнюю страницу сайта, над которым я работаю, через валидатор HTML w3c, и он вернулся с 3 ошибками и 2 предупреждениями.Я посмотрел на них, но не понимаю, почему они могут вызвать проблемы.Я вставил их ниже (я удалил URL / строки и т. Д., Поскольку сайт еще не совсем готов к публикации).Кстати, это проверяется на XHTML Transitional.

UL возвращается со следующей ошибкой: end tag for "ul" which is not finished <ul id='tabs'></ul>

<ul id='tabs'> 
<li> 
    <a href="/en/folder/folder/search?categories[]=cat1" class="tab1" title="tab_title">
        <img alt="img_alt" src="img_src" /> 
        <span> 
            tab1_text
        </span> 
    </a>
</li> 
<li> 
    <a href="/en/folder/folder/search?categories[]=cat2" class="tab2" title="tab_title">
        <img alt="img_alt" src="img_src" /> 
        <span> 
            tab2_text
        </span> 
    </a>
</li> 
<li> 
    <a href="/en/folder/folder/search?categories[]=cat3" class="tab3" title="tab_title">
        <img alt="img_alt" src="img_src" /> 
        <span> 
            tab3_text
        </span> 
    </a>
</li> 
<li> 
    <a href="/en/folder/folder/search?categories[]=cat4" class="tab4" title="tab_title">
        <img alt="img_alt" src="img_src" /> 
        <span> 
            tab4_text
        </span> 
    </a>
</li> 
<li> 
    <a href="/en/folder/folder/search?categories[]=cat5" class="tab5" title="tab_title">
        <img alt="img_alt" src="img_src" /> 
        <span> 
            tab5_text
        </span> 
    </a>
</li> 
<li> 
    <a href="/en/folder/folder/search?categories[]=cat6" class="tab6" title="tab_title">
        <img alt="img_alt" src="img_src" /> 
        <span> 
            tab6_text
        </span> 
    </a>
</li> 
<li> 
    <a href="/en/folder/folder/search?categories[]=cat7" class="tab7" title="tab_title">
        <img alt="img_alt" src="img_src" /> 
        <span> 
            tab7_text
        </span> 
    </a>
</li> 
<li> 
    <a href="/en/folder/folder/search?categories[]=cat8" class="tab8" title="tab_title">
        <img alt="img_alt" src="img_src" /> 
        <span> 
            tab8_text
        </span> 
    </a>
</li> 
</ul>

Для встроенного JavaScript я получаю 2 ошибки и2 предупреждения за одно и то же: у меня есть простое выражение if с &&, и валидатор, похоже, видит это как HTML, а не как javascript: character "&amp;" is the first character of a delimiter but occurred as data и xmlParseEntityRef: no name

<script type='text/javascript'>
    if (weather_data != null && weather_data['data'] != null){
    display_weather();
}
</script>

JavaScript размещенперед тегом закрытия тела в конце документа.Если вам нужно увидеть полный источник, дайте мне знать, и я могу отправить его.

Ответы [ 3 ]

1 голос
/ 01 июня 2010

XML не поддерживает встроенные CDATA, поэтому амперсанды имеют особое значение в XHTML, которого у них нет в HTML, но вы, вероятно, используете свой XHTML в виде text / html, поэтому см. Рекомендации по совместимости для Встроенные таблицы стилей и сценарии

Что касается:

конечный тег для "ul", который не завершен

задано

<ul id='tabs'></ul>

В списке должен быть хотя бы один элемент списка.Я предполагаю, что вы заполняете его JavaScript (отсюда ваш второй пример ul), но валидатор не заботится об этом.

0 голосов
/ 01 июня 2010

Чтобы проверить встроенный Javascript, вам нужно обернуть содержимое в теги CDATA и добавить комментарии JS, чтобы сделать его валидным:

<script type='text/javascript'>
//<![CDATA[
if (weather_data != null && weather_data['data'] != null){
  display_weather();
}
//]]>
</script>

Я проверил фрагмент списка HTML, который вы разместили в валидаторе W3C, и он был успешно подтвержден как HTML 4.01 Strict и XHTML 1.0 Strict . Так что проблема в другом. Можете ли вы разместить ссылку на всю страницу?

0 голосов
/ 01 июня 2010

Не уверен насчет проблемы UL, но вы можете захотеть поместить CDATA в ваш скрипт.

см. http://www.w3schools.com/xml/xml_cdata.asp

...