jQuery源码浅谈系列---closest()

closest(expr,[context])

     在1.3新增,从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素。

     会检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果诶有返回一个空的jQuery对象。

     closest与parents的主要区别:

      1、closest是从当前元素开始匹配寻找,后者是从父元素开始。

      2、closest是逐级向上查找,直到发现匹配的元素后就停止,后者一直向上查找直到根元素,然后把这些元素放进一个临时的集合中,再用给定的选择器表达式过滤

      3、closest返回0或1个元素,后者可能包含0个,1个,或者多个元素

相关推荐