Как переопределить стили виджета пользовательского интерфейса jQuery и сохранить функциональность - PullRequest
8 голосов
/ 25 октября 2010

Я использую jQuery UI для внутреннего применения.


Я ищу простой способ удалить всю информацию о стиле, предоставленную пользовательским интерфейсом jQuery для данного экземпляра виджета. Я действительно открыт для всего, но решение javascript многократного использования было бы идеальным. Абсолютно необходимо, чтобы ни одна функциональность не была потеряна.

самое главное, что все фоновые изображения удалены, я в порядке с сохранением стилей макета. в идеале что-то вроде ...

$tabs = $("#someElement").tabs();
$tabs.removeStyles();

Но я открыт для всего, что позволяет мне гибко изменять стили виджетов.

Конечная цель - иметь максимально возможный контроль стилей

Ответы [ 4 ]

16 голосов
/ 06 ноября 2010

Чтобы переопределить jquery-ui css, используйте тег !important.

.ui-dialog {
  background-color: black !important;
  }
4 голосов
/ 01 февраля 2012

Более простой способ удаления стилей / классов CSS - использовать. removeClass().Например, чтобы переопределить все углы вкладок и иметь только верхние углы, я использую это так:

$('#tabs').tabs().removeClass('ui-corner-all').addClass('ui-corner-top');

Надеюсь, это поможет!

0 голосов
/ 25 октября 2010

Вы можете просто удалить файл CSS и начать его сборку, используя только макет, который вы хотите. это много работы, но это цена, которая приходит с этим ...

0 голосов
/ 25 октября 2010

Вы можете легко создать собственную функцию removeStyles.

$.fn.removeStyles = function(){
 $(this).attr('class','');
};

Это удалит все стили из выбранного вами элемента.

Редактировать: Если вы хотите удалить только те классы, которые создает jquery ui, у вас есть ограниченные возможности. Вы можете сравнить классы в атрибуте class со списком набранных вами классов jquery-ui. Там нет волшебной пули, которая будет автоматически удалять jquery UI.

...