【发布时间】:2017-05-16 02:40:15
【问题描述】:
我已经建立了一个简单的 Angular 项目,其中有一个基本模板。这个基本模板导入了所有必要的库,并在其中运行了一个简单的 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>
因此,基本上,该函数将一个类添加到我的 DOM 中的所有输入元素。 ng-view 之外的第一个输入元素受此函数影响。
但是,假设我的 ng-view 模板中有输入元素,这些元素奇怪地不受函数的影响。这是为什么?看来我的 jQuery 函数无法访问我的 Angular 模板的 DOM。
有解决办法吗?运行可能影响 Angular 模板的通用函数的理想方法是什么?
谢谢。
【问题讨论】:
-
你为什么不做(或搜索是否已经存在)一个指令?
-
为每个输入添加一个类似乎你应该使用一个简单的 CSS 类:
input { your_code } -
@Maxime 为什么你更喜欢使用元素名称作为选择器而不是类?
-
@1252748 因为如果你必须使用一些 javascript 在任何地方插入该类,为什么不使用 css 选择器?
-
addClass 显然只是为了这个问题。真正的函数做了很多其他的事情,我不想为这个问题包含额外的 15 行以上的代码。
标签: javascript jquery angularjs dom