为什么我们不能在AngularJS中使用JS标准方法

时间:2018-01-04 11:25:53

标签: javascript jquery css angularjs

所以这是我的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 =>{

        });

所以我在使用jqLit​​e .css方法的指令中为我的元素添加了一些样式,并且它有效,但是使用Javascript STYLE方法添加样式会返回错误,说明STYLE未定义。另外在指令中我不能在元素上使用APPENCHILD方法,但我可以使用APPEND(再次使用jqLit​​e方法)。那么为什么我们不能使用大多数JS普通函数而是需要使用jquery呢?

1 个答案:

答案 0 :(得分:2)

element是jqLit​​e对象,因此.css()起作用。要使用DOM元素,首先使用[0]获取其引用,然后您可以操作其样式属性。

element[0].style.height = "500px";