我使用以下模板(简化)创建指令:
<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()方法应该能够找到嵌套元素。但为什么这不起作用呢?
我试图在控制台中打印元素并循环播放所有子元素,输入确实存在。
感谢任何帮助!
答案 0 :(得分:-1)
如果要访问元素,请使用querySelector()
。但请注意,querySelector仅返回第一个子元素。
如果您希望所有元素都使用querySelctorAll()
,如下所示
element.querySelectorAll("input")