如何从指令内部的元素中获取和设置父高度?
这就是我现在所拥有的,显然它不起作用。
var vAlign = angular.module("vAlign", [])
.directive('vAlign', function() {
return {
restrict : "AC",
link: function(scope, e){
e.parent.height(1200);
console.log(e.parent.height);
}
};
});
答案 0 :(得分:10)
您可以使用jqLite / jQuery的parent
和height
方法:
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
是一个jqLite / jQuery实例,这是一个单个元素的类似数组的集合,因此您需要使用[0]
来访问原始HTMLElement。
答案 1 :(得分:5)
e.parent是一个函数,所以你必须这样调用它:
e.parent().height(1200);
此外,如果您不在页面上加载jquery,则必须使用
.css('height', '1200px')
相反,因为jqLite不包含.height