Помогите разрешить SyntaxError: Ошибка разбора - PullRequest
0 голосов
/ 23 сентября 2011

Я получаю SyntaxError: Parse Error, когда мой браузер запускает следующий код для iPhone:

if (window.innerWidth && window.innerWidth <= 480) {
    $(document).ready(function(){
        $('#usernav ul').addClass('hide');
        $('#usernav').append('<div class="leftButton"
        onclick="toggleMenu()">Menu</div>');
    });
    function toggleMenu() {
        $('#usernav ul').toggleClass('hide');
        $('#usernav' .leftButton').toggleClass('pressed');
    }
}

Я новичок во всем этом (программирование, языки программирования и т. Д.), Но мне интересно, вызвана ли эта ошибка, потому что я просматриваю свой сайт в браузере.

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

  1. Что за ошибка в моем JavaScript
  2. Как лучше всего остановить мой браузер от деградации?

Надеюсь, это имеет смысл. Возможно, ухудшение не связано с JavaScript, но так как оно уместно, я решил спросить.

РЕДАКТИРОВАТЬ: Я обновил код, чтобы закрыть append, но я все еще получаю ошибки в строке $('#usernav').append('<div class="leftButton". В моей IDE написано «неопределенный строковый литерал».

Ответы [ 3 ]

2 голосов
/ 23 сентября 2011

Javascript может заканчивать строки точкой с запятой ИЛИ переводом строки. Когда вы вводите новую строку, вы рано заканчиваете свое заявление. Поместите утверждение в одну целую строку.

1 голос
/ 23 сентября 2011

Проблема здесь:

$('#usernav').append('<div class="leftButton"
    onclick="toggleMenu()">Menu</div>;

Ты не закрываешься .append('. Вы хотите это:

$('#usernav').append('<div class="leftButton" onclick="toggleMenu()">Menu</div>');
0 голосов
/ 23 сентября 2011
$('#usernav').append('<div class="leftButton" onclick="toggleMenu()">Menu</div>;');

Полагаю, вы забыли закрыть функцию append() скобкой и точкой с запятой.:)

...