来自jquery的toggleClass()不适用于有效选择

时间:2012-05-10 19:45:55

标签: javascript jquery onmouseover

我的隐藏类不接受toggleClass:

function overFx (element, classN) {

    if (!element.hasClass('ligado')){

        if (!$.browser.webkit && !$.browser.opera){
            //TR

            element.toggleClass(classN);

        } else {
            //TD

            element.children("td:not(.media)").toggleClass(classN);
        }
    }
}
//EFEITOS PARA DESTACAR LINHAS:

//MOUSE OVER:

$("tr.destacar:not(.hide)").mouseover(function (){

    overFx($(this), "mouseoverTr");
}
);

$(".hide").mouseover(function (){

    overFx($(this), "mouseoverTrHide");
}
);

//MOUSE OUT:

$("tr.destacar:not(.hide)").mouseout(function (){

    overFx($(this), "mouseoverTr");
}
);

$(".hide").mouseover(function (){

    overFx($(this), "mouseoverTrHide");
}
);

我稍后会发布Jsfiddle。

$("tr.destacar:not(.hide)")标准杆完美无缺,但$(".hide")不是,它应该是!他们在那里,我控制台。记录它,$(this)正好返回我想要的。

1 个答案:

答案 0 :(得分:1)

您的$(".hide").mouseout(...)方法中有错字,而是.mouseover(...)

要重新进行迭代,您需要$(".hide").mouseover两次,而第二个应该是.mouseout

演示:http://jsfiddle.net/ducYE/