В двух словах мой вопрос: какие ограничения для строки, чтобы быть идентификатором для поиска или контентом для поиска в jQuery.
Обновление:Я получил часть идентификатора, но не потому, что я не могу даже искать в html-содержимом с этой строкой.Прыжки для тех, кто хочет сказать мне регулярное выражение, чтобы изменить шаблон с «ММ / дд / гг чч: мм: сс» на «ММддей ЧЧммсс»
Подробности следуют:
Я пытаюсь получить текст внутри нескольких <p>
с помощью jQuery.
Я их добавляю с помощью следующего кода:
$("<p>"+data.timeStamp + " _ " + data.text +"</p>")
.addClass(data.source)
.attr("id", "msg_"+data.userId+"_"+data.timeStamp)
.appendTo($("#messages_"+data.userId));
Они выглядят хорошои я могу добавить столько, сколько смогу.Но тогда, Мне нужно получить текст внутри каждого , чтобы добавить ответ.Я использую userId
и timeStamp
, чтобы найти, какой абзац мне нужно добавить.Это прекрасно работает, если timeStamp
это просто число (например, созданное сервлетом Java как
SimpleDateFormat df = new SimpleDateFormat("MMddyyHHmmss");
, но jQuery не может найти его, если timeStamp немного сложнее:
SimpleDateFormat df = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
или даже
SimpleDateFormat df = new SimpleDateFormat("MM-dd-yy HH.mm.ss");
Я пробовал оба
var txt = $("#msg_"+data.message.from+"_"+data.message.timeStamp).html();
и
var txt = $("#messages_"+data.userId).find(":contains('"+data.message.timeStamp+"')").html();
безрезультатно.
JSONхорошо кодируется и декодируется во время вызова ajax, так как console.log (response.timeStamp);
даст правильный вывод.
Любые идеи? Должен ли я как-то экранировать строку timeStamp
, чтобы использовать ее в поиске jQuery?
PS 1: Если вы обнаружите какую-либо синтаксическую ошибку, это, скорее всего, связано с вырезанием и вставкой и упрощением кода для примера, поскольку с помощью простой метки времени я могу заставить ее работать в реальномJS файл.
PS 2: Я знаю, что обходной путь в моем конкретном случае будет использовать две разные строки, одну для отметки времени в тексте и одну (проще) дляid, но это не помогает мне понять ограничение здесь.