jQuery switchStyle不需要的行为

时间:2012-10-17 16:33:32

标签: javascript jquery jquery-ui

为什么我执行

function przygotuj_Highlighter() {
    $(".ELEMENT_LISTY").mouseenter(function() { 
        $(this).stop(true,true).switchClass("", "HIGHLIGHT", 400, "easeInOutQuad");
    });
    $(".ELEMENT_LISTY").mouseleave(function() { 
        $(this).stop(true,true).switchClass("HIGHLIGHT", "", 400, "easeInOutQuad");
    });
}

Firebug说:

  • 加载页面时<div class="ELEMENT_LISTY DODAJ"></div>
  • 当函数触发<div class="ELEMENT_LISTY DODAJ HIGHLIGHT"></div>
  • 当mouseleave触发<div class="ELEMENT_LISTY DODAJ" style></div>时(从Firebug复制并粘贴时,它看起来像<div class="ELEMENT_LISTY DODAJ" style=""></div>但Firebug本身显示为style,但没有=""

为什么添加这种“风格”?我不希望我的代码中有垃圾!

1 个答案:

答案 0 :(得分:0)

switchClass实际上是jQuery UI的一部分,而不是基础jQuery。

在进行转换时,它会动态修改样式,并且需要在完成后恢复它。 stylestyle=""和没有样式属性之间没有区别,因此它无需检测这种特殊情况。

它不会对您的代码进行更改,而只是更新DOM。