Javascript angularjs在不使用jquery的情况下向元素添加css属性

Javascript angularjs在不使用jquery的情况下向元素添加css属性,javascript,css,angularjs,Javascript,Css,Angularjs,在angular指令中,我复制了我想要的元素,它是 var node= element[0].cloneNode(true); 然后我想向这个元素添加css。我知道你能做到 $(node).css({width: width, left: left, height: height, top:'0px'}); 但我知道在角度指令中使用这个是不好的做法。我试过了 angular.node.css({width: width, left: left, height: height, top:'0p

在angular指令中,我复制了我想要的元素,它是

var node= element[0].cloneNode(true);
然后我想向这个元素添加css。我知道你能做到

$(node).css({width: width, left: left, height: height, top:'0px'});
但我知道在角度指令中使用这个是不好的做法。我试过了

angular.node.css({width: width, left: left, height: height, top:'0px'});
但这是行不通的。我在网上搜遍了,什么也没找到。我得到的只是jquery方法。有人知道如何以角度的方式向元素添加css吗


任何帮助,谢谢

ngStyle
指令接受一个“表达式,该表达式求值到一个对象,该对象的键是CSS样式名称,值是这些CSS键的对应值。”

附带Angular,这是jQuery的精简版本。在指令中使用它没有什么错<代码>克隆()和
css()
在jqLite中提供

var node = element.clone()
                  .css({width: width, left: left, height: height, top:'0px'});

工作示例:

对于那些以后可能会发现这一点的人,我找到了问题的解决方案。之所以不能执行node.css(),是因为node是一个dom元素。这是由于我的副本。要保留javascript对象,必须执行以下操作

angular.element(element[0]).clone() 
正确地克隆它。这样我就可以执行node.css()。除了.css,您还可以做其他事情。您可以在这里查看以下内容

希望这有帮助

打开…component.js

angular.element(idName).css(“背景”,“#000”)

i、 e hello是div中的idName


感谢@phylax的回复。但是,我正在处理javascript/指令中的所有值,所以我不能使用NgstyleThank@anthony,我认为这会起作用,但我仍然得到一个“未捕获的TypeError:无法读取未定义”错误的属性“css”。你知道这意味着什么吗?你能发布你的代码吗,也许是在一把小提琴里?我刚刚在一个指令的link函数中尝试了这个方法,它成功了。@user3339134用这个例子更新了答案。这很奇怪,它在jsbin上有效,但我仍然得到了未定义的“css”。奇怪的谢谢你的意见!你说的似乎管用。有点它可能不起作用的原因可能在我这方面。在我打印console.log(元素[0].parentElement)时的指令中,我得到了dom,但我想要的是具有子元素和偏移量的类似数组的东西。如何打印家长的信息。顺便说一下,既然我认为这是可行的,我就把它作为答案。谢谢