【问题标题】:AngularJS: How can I get the DOM element from a filterAngularJS:如何从过滤器中获取 DOM 元素
【发布时间】:2018-09-05 02:46:16
【问题描述】:

问题如下: 我有几个应用了过滤器(“myFilter”)的 html 站点。

    angular.module('myApp', [])
    .filter('myFilter', function() {
            return function(input) {
                //do something with the input
                return input;
            };
    })

过滤器应用在没有特殊 id 或类的不同标签中,如下所示:

    <span>{{'some_string | myFilter'}}</span>

    <div>{{'some_other_sring' | myFilter}}</div>

我现在想为使用过滤器的元素添加类或样式(用于某些测试目的)。我的问题是,是否有办法在过滤器函数中获取 DOM 元素?目前,我没有看到直接的方法来实现它,并且会感谢有关如何实现它的具体或一般的想法。 提前感谢您的帮助。

附: 我知道我可以使用指令而不是过滤器,但是过滤器已经分布在大量的 html 中,所以我更喜欢使用过滤器。

【问题讨论】:

    标签: javascript html angularjs dom angularjs-filter


    【解决方案1】:

    使用过滤器无法做到这一点。改用指令。例如:

    angular.module('myApp', [])
    .directive('myDirective', function() {
        return {
            link: function(scope, element, attributes) {
                element.addClass('some-class');
                ...
            }
        };
    });
    

    使用正则表达式查找/替换,向所有使用过滤器的元素添加指令并不难。

    【讨论】:

    • 好吧,就如我所想。谢谢你的回答。
    猜你喜欢
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 2016-02-21
    • 2022-12-05
    • 2023-03-24
    • 2022-07-11
    相关资源
    最近更新 更多