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;
有一种方法,我想通过 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;