我目前正在从我的AngularJS
项目中删除jQuery
依赖项,并在我的代码库中发现了以下代码作为规范的一部分:
beforeEach(inject(function($rootScope, _$compile_) {
scope = $rootScope;
$compile = _$compile_;
var domElement = '<my-element class="my-class"' + 'ng-class="{' + 'open: myFunction().isOpen === true}"+></my-element>';
element = angular.element(domElement);
}));
function createComponent() {
$compile(element)(scope);
scope.$digest();
return element.find('my-element');
}
我想知道代码的angular.element(domElement);
和return element.find('my-element');
部分的JS等价物是什么。我知道angular.element
只是jQuery
的包装器,但尝试使用document.querySelector
(或document
上的其他方法(并没有帮助。
angular.element
和element.find
没有任何直接的javascript等价物。
最密切相关的可能分别是document.querySelector
和array.prototype.find
。然而,angular提供的方法与普通javascript提供的方法之间的一个小但重要的区别是,angular方法在许多浏览器中得到支持,而普通javascript方法可能无法支持这些浏览器。