Задать вопрос
Alexanevsky
@Alexanevsky
Любительская web-разработка

Как с помощью jQuery сбросить все инлайн-стили (с некоторым исключением)?

Здравствуйте!

Есть сайт на очень тупой CMS, но менять её нет возможности, и нет возможности влезать в серверную часть CMS, чтобы что-то поменять. Парсер wysiwyg-редактора работает хуже некуда, добавляя для всех p, span, font кроме реально указанных пользователем данных всякие font-size, font-family и проч., всё то, что пользователь не указывал. В общем ад для стилизации с помощью CSS. Примерно такой ужас:
<font style="font-family: verdana, arial, helvetica; font-size: 10pt; color: rgb(255, 255, 255);">текст</font>
Узнали, на чём сайт? :)

Решил сбросить все инлайн-стили: спарсенный текст оборачиваем в контейнер, например, .description, и помощью jQuery обнуляем все инлайны. Осталась одна проблема: сбросить то мы всё можем, но некоторые инлайновые стили всё-таки полезно сохранить. Т.е. все эти font-family и пр. нужно удалить, но сохранить color, text-align и ещё парочку.

Для сброса всех стилей голову включать не надо, всё просто:
$('.description p').attr('style', '');
$('.description span').attr('style', '');
$('.description font').attr('style', '');
...

А что делать, если некоторые инлайны надо сохранять?
Если кто-нибудь предложит код, я буду очень благодарен! :)

С уважением,
Александр.
  • Вопрос задан
  • 3355 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Андрей Мохов К ответам на вопрос (3)
$('.description p').attr('style', '').css({'font-size': '12px'});
Ответ написан