gpt4 book ai didi

javascript - 如何在 Angular 指令测试中按 ID 查找元素

转载 作者:行者123 更新时间:2023-11-28 00:37:52 25 4
gpt4 key购买 nike

我有一个指令,可以在单元测试中呈现以下 html:

<div id="published-envs">
<strong>Published to</strong>
<!-- ngRepeat: env in fundConfigurationVersion.publicationEnvironments --><div data-ng-repeat="env in fundConfigurationVersion.publicationEnvironments" class="ng-binding ng-scope">
QA (Jan 29, 2015)
</div><!-- end ngRepeat: env in publicationEnvironments --><div data-ng-repeat="env in publicationEnvironments" class="ng-binding ng-scope">
PROD (Jan 30, 2015)
</div><!-- end ngRepeat: env in publicationEnvironments -->
</div>

我正在尝试获取 <div id="published-envs">并断言它有两个 child <div>就在里面。

我尝试了以下方法,但不起作用: var environments = element.find('#published-envs'); //comes back empty

在 Angular 单元测试中通过 id 查找元素的正确方法是什么?

最佳答案

根据Angular Element Docs , .find()

Limited to lookups by tag name

尝试

var environments = angular.element(document.getElementById('published-envs')).find('div');

JSFiddle Example

编辑

对于编译标记,本质上是一样的,只需注入(inject)$compile服务并按如下方式使用

var comipledEnvironments = $compile(angular.element('<div id="published-envs"><div></div><div></div></div>'))($scope).find('div')

console.log(comipledEnvironments); // 2 <div>'s

Updated JSFiddle

关于javascript - 如何在 Angular 指令测试中按 ID 查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28288318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com