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

时间:2015-08-05 17:25:32

标签: 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);
        }
    };
});

2 个答案:

答案 0 :(得分:10)

您可以使用jqLit​​e / jQuery的parentheight方法:

link: function(scope, e) {
    e.parent().height(1200);
    console.log(e.parent().height());
}

或者您可以使用parentNode属性的纯javascript执行此操作,该属性是对父元素的引用:

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

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

答案 1 :(得分:5)

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

e.parent().height(1200);

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

.css('height', '1200px')

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