2016-03-23 3 views
1

Почему это не работает? Я пытаюсь добавить клас, чтобы добавить дополнение к стилям изображения Magento CMS по умолчанию - большое спасибо заранее. Игнорируйте J - он должен быть тамПроверить стиль элемента и добавить класс

if ($j('.cms-page-view .std img').css('float') == 'left') { 
      $j('.cms-page-view .std img').addClass('img-left'); 
     } 
     else if ($j('.cms-page-view .std img').css('float') == 'right') { 
      $j('.cms-page-view .std img').addClass('img-right'); 
     } 
     else { 
      $j('.cms-page-view .std img').addClass('img-normal'); 
     } 

ответ

2

Вы должны использовать .each() добавить классы в каждом элементах контексте

$j('.cms-page-view .std img').each(function(){ 
    var elem = $(this); //Here this refers to element in an iteration 
    if (elem.css('float') == 'left') { 
     elem.addClass('img-left'); 
    } 
    else if (elem.css('float') == 'right') { 
     elem.addClass('img-right'); 
    } 
    else { 
     elem.addClass('img-normal'); 
    } 
}) 
2

Как Satpal сказал, что вы должны использовать для каждого цикла для перебора каждого элемента, так как класс селектор вернет список элементов

$j('.cms-page-view .std img').forEach(function(item){ 

    if ($j(item).css('float') == 'left') { 
     $j(item).addClass('img-left'); 
    } 
    else if (item).css('float') == 'right') { 
     $j(item).addClass('img-right'); 
    } 
    else { 
     $j(item).addClass('img-normal'); 
    } 
} 
); 

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

  • Нет связанных вопросов^_^