出于某些原因,我无法使用以下内容更改元素的样式:
angular.element("#element").style.height = 100px;
Run Code Online (Sandbox Code Playgroud)
我确信它angular.element("#element")有效,因为它返回一个DOM元素.另外,这有效:
angular.element("#element").addClass('something');
Run Code Online (Sandbox Code Playgroud)
(我发现的一切都是关于ngStyle但我不认为这是我正在寻找的?)
我应该用别的吗?
如果是的话:什么?为什么.style.something不起作用?
gka*_*pak 53
根据文件:
注意:Angular中的所有元素引用始终用jQuery或jqLite包装; 它们永远不是原始的DOM引用.
因此,该.style物业不是直接提供的,因为它是包裹物的财产HTMLElement.
您可以使用ivarni的方法来获取HTMLElement(angular.element(...)[0].style...)或使用jQuery的/ jqLite的.css()方法:
angular.element('#element').css('height', '100px');
Run Code Online (Sandbox Code Playgroud)
iva*_*rni 12
Angular element返回包装DOM元素的东西,而不是DOM元素本身.您可以像使用JQuery选择器一样访问底层元素.
angular.element("#element")[0].style.height = 100px;
Run Code Online (Sandbox Code Playgroud)
那当然假设你有一个匹配,你应该在使用ID时.