2015-12-17 2 views
0

я использую Image sprites.Some спрайтов CSS класс:Как применить другой класс css, если первый класс css не существует?

.icon-ONE { 
    background-image: url(../img/spritesheet.png); 
    background-position: -32px 0px; 
    width: 32px; 
    height: 32px; 
} 
.icon-TWO { 
    background-image: url(../img/spritesheet.png); 
    background-position: -288px -288px; 
    width: 32px; 
    height: 32px; 
} 
.icon-NOIMAGE { 
    background-image: url(../img/spritesheet.png); 
    background-position: 0px -32px; 
    width: 32px; 
    height: 32px; 
} 

HTML:

<div ng-repeat="product in products"> 
     <div ng-show="product.type!=''" class="icon-{{product.type | removeSpace | uppercase}} " ></div> 
     <div ng-show="!product.type || product.type==''" class=" icon-NOIMAGE" ></div> 
</div> 

так, если "product.type" что-то другое, он должен применить класс значок-NOIMAGE.

Я пробовал использовать ng-класс this, но он не работал. Их нет условия для проверки. Нужно найти, существует ли класс css. постарались:

angular.element(myElement).hasClass('my-class'); 

Один из раствора: путем добавления значка-NOIMAGE class.but он потерпел неудачу в некоторых условиях.

<div ng-show="product.type!=''" class="icon-{{product.type | removeSpace | uppercase}} icon-NOIMAGE" ></div> 

- их любой способ проверить, существует ли класс css.?

это их любой другой способ для этого, я могу сделать ..?

ответ

2

Если вы хотите применить класс условно, вы должны использовать ng-класс.

ng-class="{'yourclass' : variable == 'value'}" 
+0

может использовать ваши анны для моих вопросов ..? Объясните подробнее ..! Я попробовал ng-class ..! –

Смежные вопросы