在JS中,你可以在任何DOM元素中调用querySelector
,因为它在Element原型中有方法,它只会在那个上下文中生效,如下所示:
const node = document.getElementById('test-node')
node.querySelector('.example')
并且它可以正常工作,但我想要做的是在使用.call()
使用变量传递方法之后调用该方法,这是我想要做的:
const querySelector = document.querySelector
querySelector.call(node, '.example')
不幸的是,这将引发TypeError: Illegal invocation
异常,我该如何才能使其正常工作?
答案 0 :(得分:3)
显然,至少在Chrome中,document
与元素的querySelector
不同。
相反,您可以直接致电Element
的{{1}}:
querySelector