关于jQuery的一个优化提示是Don’t Act on Absent Elements,但是给定的样本在使用上并不十分清楚。
例如,提高
的性能$('.elem').width(123).height(321);
如果没有elem类,以下是正确的选择吗?
$('.elem').doOnce(function(){ $(this).width(123).height(321)});
另外:这个小的可能的速度优化(当元素不存在时)是否值得为它编写额外的代码?
答案 0 :(得分:-1)
这与“不要对缺席元素采取行动”有关。 Qjuery无法检测元素是否存在。 如果您设计自己的巨大插件,它具有巨大的功能或一些其他HTTP请求依赖项是值得的。 想象一下,在执行原始效果之前,您的插件需要一个配置,这将导致时间和资源的投射。最后,你永远不会因为元素已经不存在而使用它们。 希望答案找到你的好。
答案 1 :(得分:-1)
jQuery不会告诉你,如果你试图在一个空的选择上运行大量代码 - 它会继续进行,就好像没有错。由您来验证您的选择是否包含一些元素
https://learn.jquery.com/performance/dont-act-on-absent-elements/