Uncaught SyntaxError в файле html, но нет никаких синтаксических ошибок - PullRequest
1 голос
/ 04 марта 2020

Получение синтаксической ошибки, но я не вижу, где ошибка.

Ошибка: Uncaught SyntaxError: missing ) after argument list

Переменная actions[i].command, на которую я пытаюсь ссылаться, является строкой ex. update:now. Это соответствует источнику событий rp c. Если я подставлю переменную в строку, она будет работать, как и ожидалось.

Вот фрагмент кода:

const actions = message.actions;
  for (let i = 0; i < actions.length; i++) {
    notiActions.innerHTML += `<a style="padding-left: 10px;" onclick="Emitter.send(${actions[i].command})">${actions[i].label}</a>`;
  }

Я отмечу, что я, как правило, не фанат наличия html в javascript наоборот.

1 Ответ

2 голосов
/ 04 марта 2020

Проблема в том, что ваша строка "command" вставляется в код JavaScript обработчика событий без каких-либо символов кавычек:

notiActions.innerHTML += `<a style="padding-left: 10px;" onclick="Emitter.send('${actions[i].command}')">${actions[i].label}</a>`;

Как уже говорили другие, сборка HTML in JavaScript никогда не бывает красивым и предоставляет всевозможные места для размножения клопов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...