angularjs – 如何通过classname或id获取元素

前端之家收集整理的这篇文章主要介绍了angularjs – 如何通过classname或id获取元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找到的元素在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

猜你在找的Angularjs相关文章