一尘不染

无法更改AngularJS中的CSS样式

angularjs

由于某些原因,我无法使用以下命令更改元素的样式:

angular.element("#element").style.height = 100px;

我敢肯定angular.element("#element"),因为它返回一个DOM元素。另外,这可行:

angular.element("#element").addClass('something');

(我发现的所有内容都与ngStyle有关,但我不认为这是我想要的?)

我应该使用其他东西吗?

如果是这样:什么?为什么.style.something不起作用?


阅读 261

收藏
2020-07-04

共1个答案

一尘不染

根据 文档

注意:Angular中的所有元素引用始终使用jQuery或jqLit​​e进行包装; 它们永远不是原始的DOM引用。

因此,该.style属性不能直接使用,因为它是包装的属性
HTMLElement


您可以使用ivarni的方法来获取HTMLElement(angular.element(...)[0].style...),也可以使用jQuery的/
jqLit​​e的.css()方法:

angular.element('#element').css('height', '100px');
2020-07-04