この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

スタイルの追加と削除

実行時にコンポーネントまたは要素の CSS スタイルを追加または削除できます。

コンポーネントのクラス名を取得するには、component.find('myCmp').get('v.class') (myCmpaura:id 属性値) を使用します。

コンポーネントまたは要素の CSS クラスを追加または削除するには、$A.util.addClass(cmpTarget, 'class') および $A.util.removeClass(cmpTarget, 'class') メソッドを使用します。

コンポーネントのソース

1<aura:component>
2    <div aura:id="changeIt">Change Me!</div><br />
3    <lightning:button onclick="{!c.applyCSS}" label="Add Style" />
4    <lightning:button onclick="{!c.removeCSS}" label="Remove Style" />
5</aura:component>

CSS ソース

1.THIS.changeMe {
2    background-color:yellow;
3    width:200px;
4}

クライアント側コントローラのソース

1{
2    applyCSS: function(cmp, event) {
3        var cmpTarget = cmp.find('changeIt');
4        $A.util.addClass(cmpTarget, 'changeMe');
5    },
6    
7    removeCSS: function(cmp, event) {
8        var cmpTarget = cmp.find('changeIt');
9        $A.util.removeClass(cmpTarget, 'changeMe');
10    }
11}

このデモのボタンは、CSS スタイルを追加または削除するコントローラアクションに結び付けられています。CSS スタイルをコンポーネントに追加するには、$A.util.addClass(cmpTarget, 'class') を使用します。同様に、クラスを削除するには、コントローラで $A.util.removeClass(cmpTarget, 'class') を使用します。cmp.find() でローカル ID (このデモでは aura:id="changeIt") を使用してコンポーネントを特定します。

クラスの切り替え

クラスを切り替えるには、クラスを追加または削除する $A.util.toggleClass(cmp, 'class') を使用します。

cmp パラメータは、コンポーネントまたは DOM 要素の場合があります。

DOM 要素ではなくコンポーネントを使用することをお勧めします。afterRender() または rerender() 内でユーティリティ関数が使用されていない場合に、cmp.getElement() を渡すと、コンポーネントの表示時にクラスが適用されないことがあります。詳細は、「表示ライフサイクル中に起動されたイベント」を参照してください。

メモ

マークアップを動的に表示または非表示にする場合は、「マークアップの動的な表示または非表示」を参照してください。

コンポーネントの配列のクラスを条件に応じて設定するには、配列を $A.util.toggleClass() に渡します。
1mapClasses: function(arr, cssClass) {
2    for(var cmp in arr) {
3        $A.util.toggleClass(arr[cmp], cssClass);
4    }
5}