javascript disabled属性在angularJS中无效?

时间:2017-01-20 12:42:59

标签: javascript angularjs

我编写了以下行,将disable属性添加到角度

中的元素中

angular.element(document.getElementsByClassName("pit")).setAttribute('disabled');

但它无法正常工作并抛出错误:

angular.element(...).setAttribute is not a function

5 个答案:

答案 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指令。这是禁用角度元素的最佳方法。