加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读