如何防止jquery UI自动添加样式?

时间:2010-12-17 17:26:07

标签: jquery css jquery-ui tabs

我想知道告诉jquery UI不添加样式类的最简单方法是什么?我正在尝试使用选项卡插件,它具有我想要的许多功能......但实际上我希望它在样式方面不做任何事情。我想完全掌控它,因为坦率地说,默认设置太忙了,只是不适用于最小化设计。

我在这里发现了一个类似的问题......: jquery ui tabs major style change

......但是他们从来没有试图阻止这些课程的加入。

你可以拒绝加载文档顶部的css主题,但是尽管没有引起任何javascript错误,标签小部件就会停止工作。整个情况非常糟糕,我不得不编写自己的标签小部件,因为jquery UI拒绝让我使用自己的样式:(

帮助?

4 个答案:

答案 0 :(得分:5)

如果你想要现有样式,除了一些小部件(标签),你可以添加一个外部div#mytabs,然后覆盖jquery UI应用的任何默认样式。

Quick (rough) demo来说明我的观点。

#mytabs #tabs2 ul.ui-tabs-nav{
    background:lime;
    border-radius:0;
}
#mytabs #tabs2.ui-tabs, #mytabs #tabs2.ui-widget{
    border:magenta;
    border-radius:0;
    background:cyan;
}

这样您就可以选择在其他区域使用默认样式(甚至是制表符)。当然,您可以在.ui-tabs-nav类上更改样式(或再次,覆盖)。

答案 1 :(得分:4)

如果你正在寻找一个阻止添加类的jQuery UI选项,那你就不走运了。

你最好的选择是@brett建议,做一个极简主题。或者,我可以想象一个javascript函数给出一个DOM元素,通过它搜索,孩子们在类属性中查找类列表,然后删除每个元素。虽然看起来很邪恶!

答案 2 :(得分:1)

另一种选择是有选择地删除由jQueryUI自动添加的类

有点像:

$('#accordion-no-jquery-style').children().attr('class', 'custom-accordion-style')

答案 3 :(得分:0)

在下载jquery ui pack时可能会添加css范围