Javascript angularjs在不使用jquery的情况下向元素添加css属性
在angular指令中,我复制了我想要的元素,它是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
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,但我想要的是具有子元素和偏移量的类似数组的东西。如何打印家长的信息。顺便说一下,既然我认为这是可行的,我就把它作为答案。谢谢