gpt4 book ai didi

javascript - 如果范围值等于单击的元素的属性值,则为 Ng-class

转载 作者:行者123 更新时间:2023-11-28 06:10:50 26 4
gpt4 key购买 nike

如何编写一个 ng-class 函数,仅当“selectedFilter”的范围值 ==“type”属性的值时才添加类“active”?

HTML:

<li ng-click="selectFilter($event)" ng-class="{'active': selectedFilter == $element.type}" type="portfolio">PORTFOLIO</li>

指令功能:

link: function(scope, el, attr) {
scope.selectFilter = function(filterChosen){
var selectedFilterValue = filterChosen.target.attributes.type.value;
scope.selectedFilter = selectedFilterValue;
};
}

最佳答案

我不确定是否有一种好方法可以将 DOM 上下文传递给作用域上的函数,而无需像 ng-click 那样访问 $event 。您也可以完全放弃使用 ng-class,而只需通过访问 ng-click 函数内的元素来手动分配类。

像这样:

 for (var i = 0; i < element[0].children.length; i++) {
if (element[0].children[i].type == scope.selectedFilter) {
element[0].children[i].className = 'active'
} else {
element[0].children[i].className = ''
}
}

关于javascript - 如果范围值等于单击的元素的属性值,则为 Ng-class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36409223/

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