この変数があり、それにクラスを追加したいと考えています。私はこの方法を試しましたが、これは間違いなく機能していません
var someVar = '<i class="firstClass"></i>';// Html Markup to be used later.
someVar.addClass('secondClass');
新しいクラスを HTML マークアップに追加するには、別の方法が必要です。
ありがとう
HTML要素でのみaddClassを使用できるため、変数をDOM要素に設定する必要があります(例$('<i>')
):-
var someVar = $('<i>', {'class': 'firstClass'});
someVa.addClass('secondClass');
親から抽出した DOM コンポーネント (例: ソート可能なヘルパー) から html 文字列を取得する必要がある場合、最初にその文字列を 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 = '<i class="firstClass"></i>'; // Html Markup to be used later.
someVar = $(someVar); // convert to jquery object
someVar.addClass('secondClass');
var someVar = $('<i class="firstClass"></i>'); //embedded string in jquery object
someVar.addClass('secondClass');
次の 3 つの方法で実行できます。
マークアップを分割し、文字列の配列に保持します。たとえば、array[0] = i class=; とします。配列[1] = firstClass; 配列[2] = /i>;
(私はstackoverflowを初めて使用するため、回答にHTMLを記述する方法を知りませんが、説明しようとしていることがわかったことを願っています)次に、クラス名を配列に連結するだけで、必要な数のクラスを追加できます[1](配列[1] += 'クラス名')。実際に使用したい場合は、すべてのビットを追加してマークアップ全体を再構築します。それはまだ醜いですが、少なくともあなたが望むものを手に入れるでしょう.