Я пытаюсь идентифицировать элемент HTML с помощью GUID из элемента в базе данных.jQuery GUID как строка и «Ошибка синтаксиса, нераспознанное выражение»
У меня есть GUID из SQL, который я использую как уникальный идентификатор для тега в HTML. По большей части это работает, пока я не попытаюсь получить доступ к нему с помощью jquery. Код выглядит следующим образом:
var thisID = '#lesson' + String(this .model.attributes.ID);
alert(thisID);
$(thisID).fadeTo('slow' , 0.5);
оповещения работает просто отлично, но JQuery часть вызывает эту ошибку:
Uncaught Error: Syntax error, unrecognized expression: #lesson{35E87357-1251-4C68-A1B2-8F83A4B3E0E9}
Что странно, если я удалить скобки (например, после первоначального SQL вызов) из GUID, поэтому строка выглядит так:
#lesson35E87357-1251-4C68-A1B2-8F83A4B3E0E9
... тогда это работает. Но я бы предпочел не снимать скобки. Кроме того, это не похоже на то, где я конкатенирую строку. Любые идеи, как я могу это исправить?
* «Curly Braces означает, что вы определяете объект в JavaScript». * Они могут означать это, но мы говорим о строке здесь. Кудрявые скобки внутри струн обычно не нуждаются в специальной обработке. В этом случае они должны быть экранированы, потому что строка используется как * selector *. Это не имеет никакого отношения к синтаксису JavaScript или объектам или что-то еще. Я могу создать строку 'var foo =" {42} ";' без проблем. –
Мы говорим о строке вплоть до использования jQuery. При этом вы получаете 'DOM Exception 12, Error: указана недопустимая или недопустимая строка.' – sonoftunk
Я отредактировал свое сообщение, чтобы было более ясно, что определение строки с помощью Curlies в ней прекрасное, но использование этого в качестве селектора jQuery означает побега. – sonoftunk