所以这是我的HTML
<div ng-controller="simpleAppCtrl">
<p custom-directive ></p>
</div>
这是我的js
angular.module("simpleApp", [])
.directive("customDirective", ()=>{
return (scope, element,attributes)=>{
element.css("width","100px");
element.css("border","2px solid red");
element.css("height","100px");
element.style.height = "500px";
}
})
.controller("simpleAppCtrl", $scope =>{
});
所以我在使用jqLite .css方法的指令中为我的元素添加了一些样式,并且它有效,但是使用Javascript STYLE方法添加样式会返回错误,说明STYLE未定义。另外在指令中我不能在元素上使用APPENCHILD方法,但我可以使用APPEND(再次使用jqLite方法)。那么为什么我们不能使用大多数JS普通函数而是需要使用jquery呢?
答案 0 :(得分:2)
element
是jqLite对象,因此.css()
起作用。要使用DOM元素,首先使用[0]
获取其引用,然后您可以操作其样式属性。
element[0].style.height = "500px";