我使用AngularJS,当我使用querySelector
时出错angular.element(angular.element(e).querySelector('.open')).removeClass('open');
如果我使用
angular.element(angular.element(e).find('.open')).removeClass('open');
没有问题。
错误:
TypeError:angular.element(...)。querySelector不是函数
答案 0 :(得分:0)
querySelector
不是Angular函数。这是一个原始JavaScript document function,可以在原始DOM元素上使用。
所以,鉴于此处的信息是如何修改代码以获得相同的结果:
angular.element(angular.element(e)[0].querySelector('.open')).removeClass('open');
答案 1 :(得分:0)
querySelector
是DOM元素的方法,而不是angular.element
(jqLite)。
为了将querySelector与jqLite实例一起使用,首先需要获取原始HTMLElement:
angular.element(angular.element(e)[0].querySelector('.open')).removeClass('open');
angular.element(e)
是一个angular.element实例,它是HTMLElement的类似数组的对象。您可以通过索引访问单个HTMLElements,这就是您使用angular.element(e)[0]
之类的原因。