2016-05-26 20 views
-1

クラスに要素を追加しようとしていますが、クラスを追加していないようです。addClass()クラスを追加していません

これは私のコードは次のようになります。

var wrapper='<div class="float-notification"></div>'; 
var message="<span>" + message + "</span>"; 
     if(error==true){ 
     var close_button = '<span class="float-notification-close" style="float:right;cursor:pointer;">X</span>'; 
     var content = $(wrapper).append(message + close_button); 
     $(this).append(content); 
     //give wrapper a error class 
     $(wrapper).addClass('error');   
     }else{..... 

私も$(wrapper).append("Foo Bar")でこれを試してみたし、期待どおりに動作しますが、なぜないaddClass()動作しますか?

+0

作品罰金:https://jsfiddle.net/407pxatv/ –

+1

あなたは変数に値を代入しているが、あなたはあなたが必要 –

+0

であることを印刷するコードがあります最初にクラスを追加してbodyに追加します。divを変数に代入し、divを最初にクラスなしで追加してから、クラスを変数に追加して意味をなさないためです。そのためにはdivを変数から更新してクラスを追加してからクラスに追加してください。 –

答えて

3

Uはそれが機能する身体

var wrapper='<div class="float-notification"></div>'; 
$(wrapper).addClass('error').appendTo('body'); 

にそれを追加する必要があります!私にとって

+0

達成しようとしているものを文書 –

2

$(wrapper)は、HTMLの文字列をDOMノードに変換し、jQueryオブジェクトにラップします。

.addClass('error')そのDOMノードにクラスを追加します。

戻り値で何もしないで、ドキュメントに入れるにはappendToなどのメソッドを使用しないでください。したがって、jQueryオブジェクト(およびその内部のDOMノード)は破棄されます。

(HTMLの元の文字列は決して変更されません)。

関連する問題