Я пытаюсь выбрать компонент JSF с помощью селектора jQuery. Составной компонент .xhtml и .js относительный код разделены, поэтому я прохожу cc.cliendId
в переменных следующим образом:Селекторы jQuery в составных компонентах, почему это не работает?
var variables = {};
variables.formid = "#{cc.clientId}";
И в * .js файл я пытаюсь использовать его следующим образом: $('[id="'+variables.formid+'"]')
это работает и возвращает мне целый DIV, но следующий код не работает, он возвращает пустой объект []
:
function escapeColons(selector) {
return selector.replace(/(!|"|#|\$|%|\'|\(|\)|\*|\+|\,|\.|\/|\:|\;|\?|@)/g, function($1, $2) {
return "\\\\" + $2;
});
}
$("#" + escapeColons(variables.formid))
Функции, которая ускользает колон берутся из этого ответа: https://stackoverflow.com/a/4792023/947111
Если я пишу $("#" + "form\\:range_chooser")
, range_chooser является идентификатором моего составного компонента, он работает.
так что возвращает: 'escapeColons (variables.formid)'? –
'form \\: range_chooser' как строка – Anatoly
Попробуйте объявить' переменные' без 'var'. Я не вижу полную картину ваших возможностей JS .... –