理想情况下,$document
是angular.element(window.document)
的包装器
$document.querySelectorAll()
应该可以正常工作,但我收到的错误是它不是函数。有人可以解释一下吗?
答案 0 :(得分:2)
如果您想使用$document
,您应该注射它(您可以使用任何其他方式注入它):
angular.module('someModule', [])
// instead of 'controller' use whatever it is...
.controller ('SomeName', ['$document', function($document) {
// ...
}]);
然后你可以使用查询选择器(注意使用[0]
):
$document[0].querySelectorAll(/* whatever */);
答案 1 :(得分:1)
你应该只能使用......
document.querySelectorAll(..)
省略$
,因为你不需要jQuery lite,因为你只是使用DOM API。否则使用jQuery lite方法... this link seems pertinent。
答案 2 :(得分:1)
通过在angular中使用jqlite .find()方法解决了这个问题。
$document.find('tagName.className')
答案 3 :(得分:0)
您必须使用angular.element(document.querySelector().jqLiteMethods());
例如
angular.element(document.querySelector('#dis-caret-drop')).find('.caret').css({'opacity' : 0.4});
这将选择ID为 ' dis-caret-drop' 的元素,并使用类子元素> ' caret' 并将子元素的不透明度更改为0.4