Javascript函数不影响角度模板

Javascript函数不影响角度模板,javascript,jquery,angularjs,dom,Javascript,Jquery,Angularjs,Dom,我已经建立了一个简单的角度项目,我有一个基础模板。这个基本模板导入所有必要的库,并在其中运行一个简单的jQuery函数。大概是这样的: <html ng-app='myApp'> <body> <div><input type="text"></div> <div ng-view></div> // Imports <script>

我已经建立了一个简单的角度项目,我有一个基础模板。这个基本模板导入所有必要的库,并在其中运行一个简单的jQuery函数。大概是这样的:

<html ng-app='myApp'>
    <body>
        <div><input type="text"></div>
        <div ng-view></div>
        // Imports
        <script>
            (function() {
                $('input').each(function() {
                    $(this).addClass('doSomething');
                });
            })();
        </script>
    </body>
</html>

//进口
(功能(){
$('input')。每个(函数(){
$(this.addClass('doSomething');
});
})();
因此,基本上,该函数向DOM中的所有输入元素添加一个类。ng视图之外的第一个输入元素受此函数影响

但是,假设我的ng视图模板中有输入元素,这些元素奇怪地不受函数的影响。为什么呢?我的jQuery函数似乎无法访问角度模板的DOM

有解决办法吗?运行可能影响角度模板的常用函数的理想方法是什么


谢谢。

模板并没有以某种方式隐式地“包含”;它们是由动态的角度代码构造的(并且可能基于非同步事件,如触发主页onload事件后发生的http请求)。因此,除非您以某种方式与angular合作,否则无法保证DOM是由angular构建的


实现这一点的“正确”方法可能是为添加类的“输入”标记编写一个角度指令(而不是像上面那样使用jQuery);当然,这是添加事件侦听器等的“正确”方法。

为什么不执行(或搜索,如果已经存在)一个指令?向每个输入添加一个类似乎应该使用一个简单的CSS类:
input{your_code}
@Maxime为什么您更喜欢使用元素名作为选择器而不是类?@1252748因为如果您必须使用一些javascript在任何地方插入该类,为什么不使用css选择器呢?addClass的事情显然就是为了解决这个问题。真正的函数做了很多其他的事情,我不想为这个问题额外包含15行以上的代码。