我编写了以下行,将disable
属性添加到角度
angular.element(document.getElementsByClassName("pit")).setAttribute('disabled');
但它无法正常工作并抛出错误:
angular.element(...).setAttribute is not a function
答案 0 :(得分:3)
angular.element
返回一个jQuery / jQuery lite包含的元素,而不是原始的DOM元素。
您可以使用jQuery方法设置它:
angular.element(document.getElementsByClassName("pit")).attr('disabled', true);
这不是真正的角度方式。考虑添加服务以向ng-disabled
或指令提供值以管理禁用状态。
答案 1 :(得分:2)
angular.element
返回a jQuery or jqLite Object,两者都有一个attr
()函数,您可以使用它,所以:
而不是:
angular.element(document.getElementsByClassName("pit")).setAttribute('disabled');
你应该写:
angular.element(".pit").attr('disabled', 'disabled');
答案 2 :(得分:1)
Angular内置了jQuery,所以你可以添加
$(".pit").attr('disabled', true);
答案 3 :(得分:0)
angular.element(document.querySelector(".pit")).setAttribute('disabled',true);
答案 4 :(得分:0)
仅当元素是输入类型
时,此语句才有效angular.element(document.getElementsByClassName("pit")).attr('disabled', true);
或使用ng-disabled
指令。这是禁用角度元素的最佳方法。