Использование переменной, содержащей двоеточие, ':,' в качестве селектора - PullRequest
0 голосов
/ 22 марта 2012

У меня есть переменная jQuery, которую я хочу использовать в качестве селектора.Переменная содержит двоеточие ':', как показано в примере ниже.

var testVariable = text1:text2:4882746225

Идентификатор переменной, используемый в качестве id элемента div и Iне может удалить двоеточие.В родительском элементе div есть еще один элемент div .Ниже вы можете увидеть, как это выглядит.

<div id="text1:text2:4882746225">

<div class="inner">
Sample content
</div>

</div>

Я хочу выбрать внутренний элемент div, который имеет класс inner , через идентификатор родительского div.Я попробовал следующее, но это не сработало.

$('#'+testVariable+' .inner')

Кто-нибудь еще сталкивался с подобной проблемой?Если так, каково решение?Что я тут не так делаю?

Заранее спасибо.

1 Ответ

2 голосов
/ 22 марта 2012

Вам нужно экранировать эти специальные символы с двойной обратной косой чертой \\.

var testVariable = "text1\\:text2\\:4882746225";

обновление (в ответ на комментарий):

Но вы можете получить к нему доступ в какой-то момент, верно? Ну, тогда мы должны работать немного усерднее и бить по утке столько, сколько нам нужно. Как

var newSelector = $('div').attr('id').replace(/:/g, '\\\\:');

, а затем используйте newSelector для выбора

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