- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用一个 Angular Directive(指令),但我对 jQlite .find() 方法没有任何运气:
指令
function cardsList () {
return {
restrict: 'A',
controller: 'CardsController',
templateUrl: 'app/directives/cards-list/cards-list.html',
link: function ($scope, $element, attr, CardsController) {
var cardLink = $element.find('a');
console.log(cardLink);
});
}
}
}
contextCards.directive('cardsList', cardsList);
一个空的 []
登录到控制台。
模板
<li data-ng-repeat="card in cards" class="cards--item">
<a class="cards--link" data-ng-href="#/{{ card.slug }}">{{ card.title }}</a>
</li>
查看
<ul class="col-xs-12 cards--list" cards-list></ul>
我只想遍历 <a>
元素。根据docs , .find()
仅适用于标签名称,这正是我想要做的。
编辑:我想在 <a></a>
中添加一个类如果链接代表的卡片被选中(如 .current-card
)
最佳答案
根据您的回答,不清楚如何所选卡片在模型中指定,因此我假设 card
对象(ng-repeat
每次迭代的对象)持有这个标志,例如:card.isSelected
.
然后,您可以使用 ng-class
根据此值指定要添加的 CSS 类:
<li ng-repeat="card in cards" class="cards--item">
<a class="cards--link"
ng-class="{'current-card': card.isSelected}"
ng-href="#/{{ card.slug }}">{{ card.title }}</a>
</li>
附录:
关于为什么 .find("a")
的原始问题的答案返回空,这是因为 ngRepeat
指令包含它的内容(这意味着 Angular 在编译期间将元素从 DOM 中取出),并将它放在比你的 link
更晚的阶段。功能。
关于javascript - jQlite .find() 遍历不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31898990/
我正在使用一个 Angular Directive(指令),但我对 jQlite .find() 方法没有任何运气: 指令 function cardsList () { return {
有没有比下面更干净的方法来迭代一组 jqlite 元素? var els = angular.element(document.getElementById("main").children); //
考虑这个可运行的示例:为什么 el4 不放在 el3 之后?如果我调试并打印 el3 ,那么 el4 似乎已经消失了。如何将一个元素放在另一个元素后面,以便它们成为兄弟元素? 编辑:我不想在调用 .a
我试图在单元测试的选择框中突出显示 1 个或多个项目。我正在使用 Karma、Jasmine 和 PhantomJS、AngularJS、JQLite、CoffeeScript。 我的列表有项目 [“
我想将“dialog”类的 div 作为 Angular 指令中的 JQLite 元素进行访问。我无法使用element.find('div')因为我的模板中有另一个div。 根据此人的问题 ( An
我已经使用 angularjs 指令创建了一个下拉菜单,该指令工作正常,现在我在指令本身中编写了所有的 css,在其中一个功能中,当鼠标悬停在下拉列表选项时,它应该改变背景颜色为 #27A1EC -
我正在研究一个指令,该指令将基于 rootScope 变量禁用页面上的所有表单元素(类似于手动将 ng-disabled 添加到每个项目,但只是一种更方便的方法。我正在修改现有的应用程序,不想挖掘一堆
我尝试使用 jqlite 来显示一些元素,但目前我遇到了问题childs 当鼠标悬停时显示内容。我将把我尝试的代码和原来的 jquery 代码放在一起。
我查看了多个线程并尝试了多种解决方案。 坦率地说,我认为我正在失去理智。 我有一个带输入的 ng-repeat。所有需要发生的是,当用户按下 Enter 键时,它应该将焦点转移到下一个输入,基本上模拟
我希望 AngularJS 默认使用 jQuery 而不是 jQLite。是否可以?因此在指令链接函数中: link: function (scope, element, attrs, ngMode
我的页面中有一个 Accordion ,当我单击 Accordion 时,我喜欢屏幕移动并滚动到 Accordion 标题的顶部。 Accordion 的结构是这样的: "My XY
因此,我有以下 Angular 指令自动聚焦 Ionic 应用程序当前页面上的第一个 input 字段。当第一个字段未被隐藏时,它工作得很好。但是,如果它被 ng-hide 隐藏,逻辑就会失败。因此需
我目前正在开发一个 Angular SPA 元素,该 SPA 在其主导航栏中具有下拉菜单。为了获得这种效果,我们使用 CSS:悬停选择器。问题是,当在此下拉列表中执行操作时,我们希望在不妨碍再次打开它
在为 Angular View 编写 Mocha/Chai 测试时,我发现 jqlite(因为我没有使用 jQuery)无法找到顶级元素。 我将其归结为一个简单的示例: /* jshint expr:
我有一个自定义指令,其中包含带有 Angular 对象的 DOM 元素,我想知道如何定位该对象的值。例子如下: app.directive('x', function() { return { s
我偶尔会发现一些插件试图检测 JQuery 是否存在,或者是否有 1-2 行代码使用 $。我想知道是否有可能以某种方式使 Angular 的 JQLite 在 Angular 应用程序之外可用?我第一
我需要在 $element 上做一些 dom 遍历,但是 jQuery 或 jQlite 不能开箱即用,所以我需要使用一个名为 closestChild 的 jQuery 插件。 https://gi
我创建了一个工厂来预加载图像。我在这家工厂的某个地方使用: var image = $( new Image() ) .load(
Angularjs 使用very stripped version on jQuery称为 jQLite(或某些网站中的 mini-jQuery)。如果您添加对主 jQuery 的引用,Angular
我从 Angular 和一般 Angular 单元测试开始。我有一个如下所示的 href: × 然后在我的单元测试中, var element = angular.element(""); compi
我是一名优秀的程序员,十分优秀!