>我正在使用以下模板(简化(创建一个指令:
<table>
<tr>
<td>
<input type="text"/>
</td>
<td>
<input type="text"/>
</td>
</tr>
</table>
在指令的链接函数中,我想将侦听器添加到输入中,但我无法获取输入元素。该指令如下所示:
angular.module('app').directive('myDirective', function(){
return{
restrict: 'E',
templateUrl: '<path-to-above-html-file>',
link: function(scope, element, attr){
var inputs = element.find('input'); // Returning empty JQLite object
}
};
});
根据 Angular 元素文档,find(( 方法应该能够找到嵌套元素。但是为什么这不起作用呢?
我尝试在控制台中打印元素并通过所有子元素循环,并且输入确实存在。
任何帮助不胜感激!
如果要访问元素,请使用querySelector()
.但要注意,查询选择器只返回第一个子元素。
如果要获取所有元素,请使用如下所示querySelctorAll()
element.querySelectorAll("input")