JQuery добавляет класс в переменной containig последовательность HTML

У меня есть эта переменная, и я хочу добавить класс к ней. Я попробовал этот метод, но этот defenetly не работает

var someVar = '';// Html Markup to be used later.
    someVar.addClass('secondClass'); 

Мне нужен различный метод к добавлению нового класса к разметке HTML.

Спасибо

3
nl ja de
Вы don' t добавляют классы к переменной, вы добавляете классы к элементам DOM. Переменная необходимо быть элементом DOM.
добавлено автор Matt Burland, источник
jQuery' s addClass метод - только метод коллекции jQuery и используется для добавления имени класса к элементу DOM.
добавлено автор JAAulde, источник
I' ve отредактировал содержание это did' yt показывают мой полный вопрос
добавлено автор Anghel Gabriel, источник
Я знаю меня don' у t есть способ фактического использования addClass в этом случае, i' m, просто спросив, как я могу сделать это в другом отношении
добавлено автор Anghel Gabriel, источник

4 ответы

You can only use addClass on a HTML element so you need to set your variable to be a DOM element (e.g. $('')):-

var someVar = $('', {'class': 'firstClass'});
someVa.addClass('secondClass');
3
добавлено
не существует в DOM, это - просто разметка HTML, которая будет использоваться, чтобы приложить его к объекту.
добавлено автор Anghel Gabriel, источник
Спасибо за ответ я просто сделал newVar = $ (someVar); и затем измененный it' s класс.
добавлено автор Anghel Gabriel, источник
var someVar = $(''); //embedded string in jQuery object
someVar.addClass('secondClass');
2
добавлено
не существует в DOM, это - просто разметка HTML, которая будет использоваться, чтобы приложить его к объекту.
добавлено автор Anghel Gabriel, источник

Когда мы должны получить последовательность HTML от некоторого компонента DOM, мы извлекли от его родителя, (например: поддающийся сортировке помощник), тогда мы можем преобразовать ту последовательность в объект jQuery сначала.

пример:

var thehtml = $(ui.helper).html();
    thehtml = $(thehtml);//convert to jQuery object
    thehtml.addClass("yourClass");//we can then assign new class

    ui.helper.replaceWith(thehtml);//do something you want with it

В вашем случае

var someVar = '';//Html Markup to be used later.
    someVar = $(someVar);//convert to jQuery object
    someVar.addClass('secondClass');
2
добавлено

Можно сделать это тремя способами:

  1. You let your HTMl markup execute first so that you can get as an DOM element and manipulate it.
  2. The hard and ugly way, treat the markup as a string and manipulate the string using 'substring' and/or 'slice'.
  3. Break up the markup and keep it in an array of strings, say array[0] = i class=; array[1] = firstClass; array[2] = /i>;

    (i m new to stackoverflow and hence dnt knw how to write HTML in the answer, but i hope u got what i m tryin to explain) Then you can add as many classes as you want by simply concatinating the classname to a array[1](array[1] += ' classname'). And when you actually want to use it, reform the whole markup by addind all the bits. It is still ugly, but you will atleast get what you want.

1
добавлено
Нет проблем. Я видел ответы выше и хотел предоставить вам больше альтернатив, если вы хотели:)
добавлено автор Mandeep Jain, источник
Вещь состоит в том, что переменная - basicali выбор в плагине, который я делаю, который будет набор pe, чтобы принять только HTML. Я добрался до работы, вдохновив от одной в ответе от вершины. Спасибо за занимание время, чтобы ответить.
добавлено автор Anghel Gabriel, источник
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda