当前位置: 首页 > 面试题库 >

AngularJS-查找具有属性的元素

暨弘毅
2023-03-14
问题内容

我是AngularJS的新手。我了解到可以使用以下查询在DOM中找到元素:

var e = angular.element(document.querySelector('#id'));
var e = angular.element(elem.querySelector('.classname'));

这对于按ID或CSS类名查找元素很有用。但是,我需要能够使用其他方法来查找元素。我有一个看起来像下面的元素:

<div my-directive class='myContainer'>...</div>

我无法查询“ myContainer”,因为它已被重用了多少。因此,我想找到任何具有“ my-
directive”属性的元素。如何搜索DOM并找到任何使用“我的指令”的元素?


问题答案:

您应该在指令中执行DOM操作,而不是查询DOM中的元素如果我有jQuery背景,这不是非常有角度的信息,请参阅“在AngularJS中思考”?。您可以在链接功能中使用该元素。

因此,在您的myDirective中

return {
    link: function (scope, element, attr) {
        element.html('Hello world');
    }
}

如果必须在指令之外执行查询,则可以在现代浏览器中使用querySelectorAll

angular.element(document.querySelectorAll("[my-directive]"));

但是,您将需要使用jquery来支持IE8和反向版本

angular.element($("[my-directive]"));

还是编写自己的方法(如此处所示),如果在不使用库的情况下无法使用querySelectorAll,则按属性获取元素?



 类似资料:
  • 我试图找到一个没有属性的元素的XPath。它只能通过其父级的属性来识别。然而,父级也不具有唯一属性。 例如: 这里有两个元素。如何获得第二个元素。上面的语法为我提供了第一个元素。。但是,如果我使用: 我得到一个错误消息"xpath表达式 '//*[@id="btn"][2]/ul/li[2]/a/span'无法计算或不会导致WebElement"

  • 我有一个对象流,我想找到一个最大值的一些属性,计算起来很昂贵。 作为一个特定的简单示例,假设我们有一个字符串列表,我们希望找到最酷的一个,给定函数。

  • 问题内容: 我有一个对象流,我想找到一个具有某些属性最大值的对象,该属性的计算成本很高。 作为一个简单的具体示例,假设我们有一个字符串列表,并且希望找到给定功能的最酷的字符串。 以下应该工作: 现在,这有两个问题。首先,假设计算起来很昂贵,这可能不是很有效。我想该方法将需要重复使用比较器,该比较器将依次重复调用,最后每个字符串将被多次调用。 其次,必须提供比较器会导致代码有些冗余。我更喜欢这样的语

  • 问题内容: 我正在尝试查找具有Attribute的元素。好吧,我可以在Selenium中找到具有Id,tagName,Xpath和所有其他预定义方法的元素。但是,我正在尝试编写一种方法,该方法将给定属性名称和值作为输入专门返回WebElement。 假设XPath不是一个选择,还有其他更好的方法吗? 问题答案: 您可以使用CSS轻松完成此任务。 公式为: 所以如果有的话 您可以使用以下方法找到它:

  • 我正在尝试查找具有属性的元素。我可以在Selenium中找到Id、tagName、Xpath和所有其他预定义方法的元素。但是,我正在尝试编写一个方法,专门返回WebElement,给定属性名和值作为输入。 假设XPath不是一个选项,还有其他更好的方法吗?

  • 我有一个包含元素列表的实体,现在我想搜索这些元素的属性。这个约束应该是“与”连接的。请看这些简单的例子: 现在我想找到某个城市的家长,比如说“BigCity”,孩子们在学校“AwesomeSchool”,他们在六年级一班。我只想通过CriteriaBuilder获得搜索结果。 到目前为止,我得到了: 不幸的是,这里有两个问题:-看起来我无法在列表属性上调用-这将返回所有孩子在“AwesomeSch