首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQlite .find()遍历不工作

jQlite .find()遍历不工作
EN

Stack Overflow用户
提问于 2015-08-08 21:56:49
回答 1查看 271关注 0票数 3

我使用的是一个角指令,在jQlite .find()方法方面没有任何进展:

指令

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

一个空的[]被记录在控制台上。

模板

代码语言:javascript
复制
<li data-ng-repeat="card in cards" class="cards--item">
    <a class="cards--link" data-ng-href="#/{{ card.slug }}">{{ card.title }}</a>
</li>

视图

代码语言:javascript
复制
<ul class="col-xs-12 cards--list" cards-list></ul>

我要做的就是遍历<a>元素。根据文档的说法,.find()只在标记名上工作,这正是我想要做的。

编辑:如果选择了链接所代表的卡,我想向<a></a>添加一个类(如.current-card)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-08 22:29:26

从您的回答中,我们不清楚选择的卡片是如何在模型中指定的,所以我假设card对象(ng-repeat的每次迭代的对象)持有这个标志,例如:card.isSelected

然后,可以使用ng-class根据这个值指定要添加的CSS类:

代码语言:javascript
复制
<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指令转换了它的内容(这意味着在编译期间将元素从DOM中删除),并将其放置在比link函数更晚的阶段。

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

https://stackoverflow.com/questions/31898990

复制
相关文章

相似问题

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