在AnguarJS中获取指令中的元素父高度

Ray*_*per 6 javascript angularjs

如何从指令内部的元素中获取和设置父高?

这就是我现在所拥有的,显然它不起作用.

var vAlign = angular.module("vAlign", [])
.directive('vAlign', function() {
  return {
        restrict : "AC",
        link: function(scope, e){

            e.parent.height(1200);
            console.log(e.parent.height);
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

dfs*_*fsq 10

你可以使用parentheightjqLit​​e/jQuery的方法:

link: function(scope, e) {
    e.parent().height(1200);
    console.log(e.parent().height());
}
Run Code Online (Sandbox Code Playgroud)

或者你可以在带有parentNode属性的纯javascript中完成它,它是对父元素的引用:

link: function(scope, e) {
    e[0].parentNode.style.height = 1200 + 'px';
}
Run Code Online (Sandbox Code Playgroud)

另请注意,由于e此处是一个jqLit​​e/jQuery实例,它是一个单个元素的类似数组的集合,因此您需要使用它[0]来访问原始HTMLElement.


小智 5

e.parent是一个函数,所以你必须这样调用它:

e.parent().height(1200);
Run Code Online (Sandbox Code Playgroud)

此外,如果您不在页面上加载jquery,则必须使用

.css('height', '1200px')
Run Code Online (Sandbox Code Playgroud)

相反,因为jqLit​​e不包括.height