Символ :
является одним из подстановочных знаков селекторов, используемых jQuery (который, как указано в комментариях, представляет псевдокласс для элемента, т. Е. input:disabled
).Таким образом, он пытается интерпретировать :
как шаблон, а не как часть вашего id
.jQuery думает, что ваш идентификатор j_idt23
, а псевдокласс - txtNumber
(который недействителен, конечно).
Просто добавьте \\
перед ним, и jQuery будет интерпретироваться как буквальный текст.
Ваш код будет выглядеть так:
$("label").each(function () {
var target = $("#" + $(this).attr("for").replace(":", "\\:"));
});