почему не будет это Validate (JQuery проблема)?

голоса
3

На моем сайте я использую плагин цикла Jquery для слайд - шоу с пейджером. Этот пример: http://malsup.com/jquery/cycle/pager.html

Таким образом, в голове моего документа, у меня есть сценарий, похожий на:

<script type=text/javascript>
$('#s4').before('<div id=nav>').cycle({ 
    fx:     'turnDown', 
    speed:  'fast', 
    timeout: 3000, 
    pager:  '#nav' 
});
</script>

Мой тип документа является XHTML Strict.

Когда я пытаюсь проверить страницу, я получаю следующие ошибки: «тип документа не допускает элемент„DIV“здесь» и «закрывающий тег для„DIV“опущен, но OMITTAG NO был указан», потому что DIV тег не закрыт ,

Есть ли способ использовать JQuery и получить его для проверки?

Задан 19/05/2009 в 13:05
источник пользователем
На других языках...                            


3 ответов

голоса
1

Вы могли бы избавиться от ошибок, выполнив:

$('#s4').before('<' + 'div id="nav">').cycle({ ...

Это должно держать валидатор от обнаружения любой HTML внутри тега сценария. Я - я буду жить с ошибкой, зная, что это была проблема с валидатора не мой код.

Ответил 19/05/2009 в 13:13
источник пользователем

голоса
8

Если поместить HTML тегов комментариев в ваш блок сценария валидатор будет игнорировать этот блок кода и проверку правильности.

<script type="text/javascript">
<!--
$('#s4').before('<div id="nav">').cycle({ 
    fx:     'turnDown', 
    speed:  'fast', 
    timeout: 3000, 
    pager:  '#nav' 
});
//-->
</script>
Ответил 19/05/2009 в 13:23
источник пользователем

голоса
8

На самом деле, причина , что ваш код не проверки, потому что некоторые символы не допускается XHTML(например , « <» и т.д.) , поэтому они должны быть завернуты в CDATAразделах в XHTML(из - за строгий характер XMLправил синтаксического анализа). HTMLкомментарии маркеров (specfically, двойной тир " --«) также не допускается и не должен появляться в SCRIPTблоке , так как они недействительныйпонятно JavaScript. Таким образом , вместо того , чтобы использовать HTMLкомментарий маркера, вы должны обернуть свой код внутри «CDATA заметного раздела» передать валидатор и не путать двигатели JavaScript:

<script type="text/javascript">
//<![CDATA[
$('#s4').before('<div id="nav">').cycle({ 
    fx:     'turnDown', 
    speed:  'fast', 
    timeout: 3000, 
    pager:  '#nav' 
});
//]]>
</script>

Посмотрите на следующих страницах дополнительной информации:

  1. XHTML 1.0 Рекомендация: 4,8. Элементы сценария и стиля
  2. Должным образом с помощью CSS и JavaScript в XHTML документах
Ответил 19/05/2009 в 19:30
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more