2017-02-07 5 views
0

Я пытаюсь вернуть кнопку в некоторой функции в пользовательском интерфейсе и получить wierd-ошибку. Может кому-то помочь.Javascript: missing) после ошибки аргумента при возврате кнопки

var div = "<button onclick='javascript:displayDetails('+value1+','+value2+');'>View</button>" 

Ошибка я получаю:

отсутствует) после списка аргументов.

+0

Когда вы получите сообщение об ошибке? – hackerrdave

+1

Попробуйте следующее: 'var div =" "' – mrlew

+0

WTH вы пытаетесь сделать? Вы действительно хотите передать строки ''+ value1 +'' и ''+ value2 +'' в 'displayDetails (...)'? – Bergi

ответ

0

Вы должны бежать:

var div = "<button onclick=\"javascript:displayDetails('+value1+','+value2+');\">View</button>" 
+0

после этого я получаю: Неподготовленный SyntaxError: Неожиданный токен} в строке 2, которая является пустой строкой – fiddle

1
onclick="javascript:displayDetails('+value1+','+value2+');" 

Не

onclick='javascript:displayDetails('+value1+','+value2+');' 

Используйте ``, который поддерживает несколько строк вместо '' и избежать вложенной "":

const div = ` 
    <button onclick="javascript:displayDetails('+value1+','+value2+');"> 
     View 
    </button>`; 

Не

const div = "<button onclick='javascript:displayDetails('+value1+','+value2+');'>View</button>" 

Тогда вам не нужно Espace

0

последняя версия JavaScript (ES2015, ранее/также известный как ES6) теперь поддерживает «строки шаблонов», которые могут помочь избежать именно такого цитируя/избегая кошмаров. Используйте «одиночной обратной кавычки цитата» (ака апостроф) вокруг строки, чтобы сигнализировать шаблон строки и шаблон синтаксис ${value} для каждого значения вы хотите «интерполированное» (входит в комплект) в строку:

var div = `<button onclick="javascript:displayDetails(${value1},${value2});">View</button>`; 

В общем , лучше выбрать стандарт, для которого кавычки вы собираетесь использовать, когда. Многие современные руководства стиля JavaScript предпочитают одиночные кавычки (') для обычных строк и двойные кавычки (") для окружающих атрибутов HTML (или XML). Теперь, имея третий механизм котировок, вы не должны часто отмечать кавычки возврата с обратной косой чертой - приятно, потому что экранирование является раздражающим, подверженным ошибкам и анти-ясностью.