我试图找到的元素在html通过angularjs。
这里是html:
<button class="btn btn-primary multi-files" type="button"> <span>Choose multiple files</span> </button> <br/><br/> <input ng-file-select type="file" multiple style="display: none"/><br/>
var multibutton = angular.element(element.getElementsByClassName(".multi-files"));
但它不工作,并尝试element.find,但它只适用于标签。
getElementsByClassName是DOM文档上的一个函数。它既不是jQuery也不是jqLite函数。
var result = document.getElementsByClassName("multi-files");
将它包装在jqLite(或jQuery如果jQuery在Angular之前加载):
var wrappedResult = angular.element(result);
如果要从指令的链接函数中的元素中选择,您需要访问DOM引用而不是jqLite引用 – 元素[0],而不是元素:
link: function (scope,element,attrs) { var elementResult = element[0].getElementsByClassName('multi-files'); }
或者,您可以使用document.querySelector函数(如果按类选择,则需要此处的句点):
var queryResult = element[0].querySelector('.multi-files'); var wrappedQueryResult = angular.element(queryResult);