jQuery FadeIn如何知道使用的显示模式?

Jef*_*eff 5 html javascript jquery animation

简单的问题:jQuery如何知道元素在使用fadeIn时应该使用哪种显示模式?

我的意思是,它似乎对我淡入的任何元素使用正确的显示模式,即使我display:none 最初在我的CSS中设置- 图像使用内联,div使用块等.

我查看了GitHub上的jQuery源代码,但我找不到我要找的东西.

我问的原因是因为我自己制作一个小插件,使用淡入淡出(但是使用Animate,因为有超过1个需要动画的属性).

Esa*_*ija 6

它用于$.data存储它:

console.log($._data( elem, "olddisplay" ));
Run Code Online (Sandbox Code Playgroud)

下划线表示它可以访问通常不可用的数据$.data$.fn.data.基本上这仅供内部使用,您不应该触摸它.

如果元素设置为display:none通过CSS,并且你淡入它,jQuery仍然知道如何使它inline等.在这种情况下,它使用函数

// Try to determine the default display value of an element
function css_defaultDisplay( nodeName ) {
Run Code Online (Sandbox Code Playgroud)

哪个会给"inline"一个nodeName === "span"