angularjs – 如何通过classname或id获取元素
发布时间:2020-12-17 09:04:59 所属栏目:安全 来源:网络整理
导读:我试图找到的元素在html通过angularjs。 这里是html: button class="btn btn-primary multi-files" type="button" spanChoose multiple files/span/buttonbr/br/input ng-file-select type="file" multiple style="display: none"/br/ 我试图通过类名称多文
我试图找到的元素在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,但它只适用于标签。 有没有任何函数可以通过id或classname在angularjs中获取元素?
getElementsByClassName是DOM文档上的一个函数。它既不是jQuery也不是jqLit??e函数。
使用它时,不要在类名称之前添加句点: var result = document.getElementsByClassName("multi-files"); 将它包装在jqLit??e(或jQuery如果jQuery在Angular之前加载): var wrappedResult = angular.element(result); 如果要从指令的链接函数中的元素中选择,您需要访问DOM引用而不是jqLit??e引用 – 元素[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); 演示:http://plnkr.co/edit/AOvO47ebEvrtpXeIzYOH?p=preview (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |