Я хочу написать функцию в jquery, используя handlebars. где имя html и класса, где он должен быть добавлен, будет проходить динамически.
В основном мне нужно что-то вроде этого:
var pageTemplate="";
function addTempl(){
var renderedPage = pageTemplate(pageName);
$("#Class_id").empty();
$("#Class_id").append( renderedPage );
}
это Class_name и pageName будут динамически передаваться этой функции из другой основной функции, в которой он будет вызываться.
Проблема в том, что я могу передать pageName, поскольку это javascript, но как это сделать для Class_name. beacuse, если я добавлю "#" и "", это не произойдет.
пожалуйста, дайте мне знать, если моя проблема все еще неясна.
класс обозначается через .
и id обозначается символом #
обновленный
$("#"+Class_id).empty();
$("#"+Class_id).append( renderedPage );
в одной строке
$("#"+Class_id).empty().append( renderedPage );
Если я правильно понял, вы хотите использовать динамический селектор на основе переданного параметра. Вы можете сделать что-то вроде:
function doSomething(className) {
var selector = "#" + className; // # for id, . for class
$(selector).empty();
$(selector).append(something);
}
Оптимизированная версия:
function doSomething(className) {
var x = $("#" + className); // # for id, . for class
x.empty();
x.append(something);
}
Оптимизировано = вы ищете элемент в DOM только один раз
Попробуйте это, чтобы выбрать точку использования класса .
$("#"+Class_id).empty();
$("#"+Class_id).append( renderedPage );