Условный скрипт jQuery / js addClass - PullRequest
0 голосов
/ 28 марта 2012

Конечно, у меня почти нет знаний по jQuery / js, тем не менее я попытался создать короткий скрипт: Wordpress выводит классы изображений следующим образом:

<img class="alignleft" />
<a><img class="alignleft" /></a>
<a><img class="alignright" /></a>

Он добавляет только классы для тегов изображений, а не для контейнера, что приводит к некоторым ограничениям css. У меня

, следовательно, попытался создать скрипт, который проверяет любые изображения с классом «alignleft / right / none», а затем приступает к добавлению нового класса для тега.

Пока мне удалось собрать следующий фрагмент кода:

$(document).ready(function() {
wp_image = $("div.article_contents a img");

if (wp_image.hasClass ("alignleft")) {
    wp_image.parent().addClass ("wp_image alignleft")
}
else if (wp_image.hasClass ("alignright")) {
    wp_image.parent().addClass ("wp_image alignright");
}   
else (wp_image.parent().addClass ("wp_image")) {

}
});

Проблемы:

  • Первый условный оператор (для alignleft) работает, но затем, когда дело доходит до «alignright» изображения, создаются оба класса «alignleft & alignright».
  • Во-вторых, последнее условное утверждение возвращает ошибку: как я и ожидал, мои знания jQuery близки к нулю, и я не смог найти другой способ записать его.

1 Ответ

0 голосов
/ 28 марта 2012

попробуйте заменить весь оператор if else следующим:

if (wp_image.hasClass ("alignleft")) {
    wp_image.parent().removeClass("alignright");
    wp_image.parent().addClass("alignleft")
}
else if (wp_image.hasClass ("alignright")) {
    wp_image.parent().removeClass("alignleft");
    wp_image.parent().addClass("alignright");
}   
else{
    wp_image.parent().addClass("wp_image");
}
...