首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过类名或id获取元素

如何通过类名或id获取元素
EN

Stack Overflow用户
提问于 2014-05-12 20:32:44
回答 3查看 513.3K关注 0票数 127

我正在尝试通过angularjs在html中查找元素。

下面是html:

代码语言:javascript
复制
<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/>

我尝试通过多个文件的类名来获取按钮元素,然后我尝试

代码语言:javascript
复制
var multibutton = angular.element(element.getElementsByClassName(".multi-files"));

但它不起作用,并尝试了element.find,但它只对标签有效。

在angularjs中有什么函数可以通过id或者classname来获取元素吗?

EN

回答 3

Stack Overflow用户

发布于 2014-05-12 20:41:24

您不必在getElementsByClassName中添加.,即

代码语言:javascript
复制
var multibutton = angular.element(element.getElementsByClassName("multi-files"));

但是,在使用angular.element时,您必须使用jquery样式选择器:

代码语言:javascript
复制
angular.element('.multi-files');

应该能行得通。

此外,from this documentation“如果jQuery可用,angular.element是jQuery函数的别名。如果jQuery不可用,angular.element将委托给Angular的内置jQuery子集,称为"jQuery lite”或“jqLite”。“

票数 27
EN

Stack Overflow用户

发布于 2015-03-12 22:21:16

@tasseKATT的答案很好,但是如果你不想做一个指令,为什么不使用$document

代码语言:javascript
复制
.controller('ExampleController', ['$scope', '$document', function($scope, $document) {
  var dumb = function (id) {
  var queryResult = $document[0].getElementById(id)
  var wrappedID = angular.element(queryResult);
  return wrappedID;
};

PLUNKR

票数 20
EN

Stack Overflow用户

发布于 2014-05-12 21:10:56

如果您只想通过按钮的类名并仅使用jQLite来查找按钮,则可以执行以下操作:

代码语言:javascript
复制
var myListButton = $document.find('button').filter(function() {
    return angular.element(this).hasClass('multi-files');
});

希望这能有所帮助。:)

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23609171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档