将样式添加到选项卡jquery的标题中

时间:2011-06-26 03:04:01

标签: jquery jquery-ui jquery-tabs

我正在尝试仅将样式添加到选项卡的标题,我的目标是我希望在用户更改选项卡之前,事件悬停中显示的类仍然存在。我试过这个

$("#menuContainer").tabs();
$("#menuContainer").bind('tabsselect',function (event,ui){

    $(this).addClass("ui-state-hover");
});

但是当我这样做时,我改变了所有标签的背景,我只想更改标题而不是所有的div。

感谢您的时间。

更新

我的HTML

<div id="menuContainer">
        <ul id="menuPrincipal">
            <li>
            <a href="#tabs-1">Quienes Somos</a>
            </li>
            <li>
            <a href="#tabs-2">Catalogo de Repuestos</a>
            </li>
            <li>
            <a href="#tabs-3">Cotizacion OnLine</a>
            </li>
            <li>
            <a href="#tabs-4">Preguntas Frecuentes</a>
            </li>
        </ul>
</div>

2 个答案:

答案 0 :(得分:0)

已编辑:在检查正确的孩子时应用正确的遍历:

$("#menuContainer").find("a").each(function(){
    $(this).hover(
        function(){$(this).addClass("ui-state-hover");},
        function(){$(this).removeClass("ui-state-hover");}
    );
});

http://jsfiddle.net/myriad/EEW2m/

上测试模型

答案 1 :(得分:0)

最后,我可以让它改变标签的样式,你需要附加正确的事件并使用像这样的正确对象

$("#menuContainer").bind('tabsshow',function (event,ui){
    $(ui.tab).parent().removeClass('ui-state-active');
    $(ui.tab).parent().css('border','1px solid #072fc5');

});

请注意,我删除了用于添加样式的课程ui-state-active

同样重要的是,事件关联必须是 tabsshow ,因为在 tabselected 的情况下,类ui-state-active它不是然后添加到标签