jQuery 具有空上下文的选择器是否安全?

jQuery selector with null context is safe?

有一种方法,我想通过 class 在特定的 html 中找到一个元素。

someMethod(html) {
  $('.some-class', html).click(function(){
    ...
    })
}

并且运行像这样

someMethod(html)

前提是html确实存在(not null)。

我也想用上面同样的方法,通过当前页面的DOM来查找相同的元素。所以方法中的 html 将为空。

如果我运行这样可以吗?

someMethod()

据我在选择器的源代码中看到的,如果给出了无效的上下文(例如 null、false、undefined 等),它会默认返回 document

来自 JQuery 源代码 (https://github.com/jquery/jquery/blob/main/src/selector.js)

// nodeType defaults to 9, since context defaults to document
nodeType = context ? context.nodeType : 9;