динамический класс выбрать в JavaScript

0

Я хочу написать функцию в 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, если я добавлю "#" и "", это не произойдет.

пожалуйста, дайте мне знать, если моя проблема все еще неясна.

Теги:

3 ответа

0

класс обозначается через . и id обозначается символом #

обновленный

$("#"+Class_id).empty();
$("#"+Class_id).append( renderedPage );

в одной строке

 $("#"+Class_id).empty().append( renderedPage );
  • 0
    извините за путаницу, это class_id и так #. но то, что мне нужно, это class_id не является статичным. когда я передам, скажем, class_id как class1, class2, он должен соответственно добавить HTML в основной файл HTML
  • 1
    см обновленный ответ
0

Если я правильно понял, вы хотите использовать динамический селектор на основе переданного параметра. Вы можете сделать что-то вроде:

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 только один раз

0

Попробуйте это, чтобы выбрать точку использования класса .

   $("#"+Class_id).empty();
   $("#"+Class_id).append( renderedPage );
  • 0
    извините за путаницу. Пожалуйста, см. выше, я исправил вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню