jquery UI禁用主题样式

时间:2012-05-21 10:09:00

标签: jquery html css jquery-ui jquery-ui-tabs

我想知道,在初始化$.tabs()时,如何让jquery UI不添加任何类?

这是我的html结构

<link href="smoothness/jquery-ui-1.8.20.custom.css" rel="stylesheet" type="text/css" />
...
<link href="estilos_scoreboard.css" rel="stylesheet" type="text/css" />
...

<div id="tab_container">
    <ul class="ui-tabs-nav">
        <li><a href="#tab_equipos"><span>Equipos</span></a></li>
        <li><a href="#tab_jugadores"><span>Jugadores</span></a></li>
        <li><a href="#tab_partidos"><span>Partidos</span></a></li>
        <li><a href="#tab_directos"><span>Directos</span></a></li>
    </ul>

    <div id="tab_equipos">... cargando ...</div>
    <div id="tab_jugadores">... cargando ...</div>
    <div id="tab_partidos">... cargando ...</div>
    <div id="tab_directos">... cargando ...</div>       
</div>

javascript代码:

$(document).ready(function(){
    $('div#tab_container').tabs();
    $('div#tab_equipos').load('lv_equipos.php');
});

estilos_scoreboard.css我有我的css样式,如果我不加载smoothness/jquery-ui-1.8.20.custom.css

那么效果很好

所以我想知道,有没有办法告诉$.tabs()不要应用它的造型?

//注意:我问的是因为我不是那种以这种方式编码的人,而是应用快速修复的人,我需要smoothness/jquery-ui-1.8.20.custom.css来获取jquery UI自动完成功能和其他功能

2 个答案:

答案 0 :(得分:4)

据我所知,这不能通过默认代码/选项来完成。但是,您可以在应用选项卡后删除所有jQuery类。

jQuery库对所有类使用前缀ui-,因此您可以在应用选项卡/插件后立即删除所有这些类。

这应该有效:

removeByClassPrefix(document.getElementById("element"), "ui-");

function removeClassByPrefix(el, prefix) {
    var regx = new RegExp('\\b' + prefix + '.*?\\b', 'g');
    el.className = el.className.replace(regx, '');
    return el;
}

或者:

$("#element").className = $("#element").className.replace(/\bui-.*?\b/g, '');

以上功能感谢Prestaul获得此答案:Remove all classes that begin with a certain string

答案 1 :(得分:0)

好吧,我决定知道只使用一个简单的if:

<?php if($_ADM['mod'] == 'scoreboard') {  ?>
    <link href="estilos_scoreboard.css" rel="stylesheet" type="text/css" />
<?php } else { ?>
    <link href="<?=BASE_URL;?>assets/css/smoothness/jquery-ui-1.8.20.custom.css" rel="stylesheet" type="text/css" />
<?php } ?>