bba*_*bba 10 javascript css performance jquery
哪一个更有效(即更快):
$(elem).show();
Run Code Online (Sandbox Code Playgroud)
要么
$(elem).addClass(displayClass); // Where display class is "display: block;"
Run Code Online (Sandbox Code Playgroud)
还是他们一模一样?
Nic*_*ver 20
这取决于你所追求的,他们做不同的事情:
$(elem).show();- 显示元素,恢复display之前.hide()或恢复display元素类型的默认值$(elem).addClass(displayClass);-增加了一个类,总是与一定的display,没有真正恢复什么是那里-这是不太灵活哪个更快?.addClass()放下手,你可以在这里自己测试一下,它的工作量远远少于.show()它.但是,它没有那么多功能,所以由于上述原因它不太灵活.
不,他们绝对不一样.
对元素样式的直接修改和通过更改元素类的"间接"修改之间存在很大差异,这确实应该非常明显.通过在Javascript和CSS之间编写协作代码,类更改为您提供了更大的灵活性.Javascript管理元素的状态,而CSS驱动该状态的实际效果.
该show()和hide()方法是方便和容易,但(在我看来)管理状态/外观类名确实是一个更强大和维护的方式来做事.实际上,您总是可以编写自己的小jQuery插件来添加/删除对您的应用程序有意义的类,以避免类名本身在您的代码中传播.