有很多关于通过class或id或其他选择器查找元素哪种更快的问题。我不感兴趣。我想知道你是否有:
var link = $(this); //let's say you're in a click handler
通过这种方式查找容器是否更快?
var container = link.closest('.container'); //assume container is .container
或者
var container = $('#mycontainer'); //assume same element as above
我提出这个问题不仅仅是针对上述特定场景(好的,是的,也包括这个场景),而是关于缓存遍历与创建具有ID的新jQuery对象之间的区别。我注意到在我的许多代码中,我倾向于使用前一种方法(因为它更具动态性),但我一直很好奇用后一种方式是否更快。
谢谢
.closest()
比其他替代方法相对较慢。 - Richard Neil Ilagan