У меня есть около 3000 HTML-элементов, каждый из которых представляет определенный смайлик браузера. Элементы содержат CSS-класс, представляющий юникод смайликов:
<span class="_1f603"></span>
<span class="_1f604"></span>
Я хочу преобразовать юникод в соответствующий короткий код:
\u{1f603} = ':grinning:'
У меня уже есть рабочая функция для этой части,Проблема заключается в создании правильной строки Unicode с использованием имени класса (поскольку я не собираюсь делать все 3000 элементов вручную).
Чтобы получить то, что я хочу, я написал следующий код:
function setShortCode(ele){
let classArray = ele.className.split(' ');
for(let i=0; i<classArray.length; i++){
if(classArray[i].startsWith('_')){
htmlUnicodeString = classArray[i].substr(1);
jsUnicodeString = '\u{'+htmlUnicodeString+'}';
document.getElementById('chat-text').value = document.getElementById('chat-text').value + joypixels.toShort(jsUnicodeString);
}
}
}
Возвращает эту ошибку:
SyntaxError: неправильно сформированная escape-последовательность символов Unicode
По-видимому, динамически создавать строки Unicode таким образом не разрешено?