Ошибка JavaScript: ожидаемый «HTML» и вместо этого увидел «сценарий» - PullRequest
0 голосов
/ 22 марта 2012
<script type="text/javascript">
    $('#footer').css('top', $('#text').outerHeight() + 125 + 'px');
</script>​

Использование jquery, но всегда получаю ошибку в строке 1 char 2, если я проверяю ее в jslint.

Есть идеи?

Ответы [ 3 ]

5 голосов
/ 22 марта 2012

Теги script не являются частью JavaScript. JSLint предназначен для обработки только текста JavaScript. Вы используете только этот бит:

$('#footer').css('top', $('#text').outerHeight() + 125 + 'px');

JSLint позволит вам публиковать HTML-страницы со встроенными тегами сценариев, но вы должны размещать более только тегов сценария. Например, все в порядке с этим:

<html><body><script>
$('#footer').css('top', $('#text').outerHeight() + 125 + 'px');
</script></body></html>

... кроме того, что мне не нравится тот факт, что я не определил $ (только потому, что я бросил это вместе).

0 голосов
/ 06 марта 2014

Опция JSLint «допуск фрагментов HTML» отключит это предупреждение.Это позволит вам связывать HTML-файлы со встроенным JavaScript, которые не являются полноценными HTML-документами.Это может быть полезно, если вы динамически загружаете фрагменты HTML и вставляете их в элементы.

Например, у вас может быть несколько вкладок пользовательского интерфейса jQuery, содержимое которых загружается динамически из отдельных файлов.Каждый из этих файлов может просто содержать содержимое того, что иначе было бы тегом div в основном документе HTML.Если по какой-либо причине эти HTML-фрагменты содержат JavaScript, который вам нужно скопировать, выбор этого параметра исключит жалобу на ожидание увидеть тег <html>.

0 голосов
/ 22 марта 2012

Не добавляйте теги <script> в раздел JavaScript JsFiddle (или во внешний файл .js).

Фиксированная демоверсия: http://jsfiddle.net/GK2br/6/

...