У меня есть функция, которая работает как исключение при вызове с консоли, но когда я использую ее в кнопке Uncaught SyntaxError: Unexpected end of input
Функция:
function changeById(className, newHTML) {
document.getElementById(className).innerHTML = newHTML;
document.getElementById(className).style.color = "red";
}<button onclick = "changeById(" liele ", "Example text ")">Click me</button>@slider Спасибо, не знал, что в js есть разница в кавычках
Нет никакой разницы, но в этом случае вы хотите, чтобы значение onclick было всей строкой changeById("liele", "Example text"), но если вы используете двойные кавычки для начала строки и у вас есть двойные кавычки внутри строки, учитывается только часть строки (onclick = "changeById("), которая неправильно.
@MarkAlanFrank На самом деле речь идет о том, как работают кавычки в HTML, это не имеет ничего общего с JS. Атрибут onclick = "changeById(". Вам нужно будет экранировать их в соответствии с правилами HTML, с помощью " - или изменив их на '.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно избегать внутренних кавычек или использовать одинарные кавычки внутри, что может сработать.
"changeById(' liele ', 'Example text ')"
"changeById(\" liele \", \"Example text \")"
Наверное, это двойные кавычки. Попробуйте
onclick = "changeById('liele', 'Example text')"