Javascript 使用Angular获取div的clientHeight?

Javascript 使用Angular获取div的clientHeight?,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,我需要一个div的名字?我该怎么做呢?(我不在乎这是否是一个坏习惯) 我已经尝试了一千种方法,其中一些可以从中看出。以下代码在控制器外部工作,但不适用于clientHeight: $scope.myElem = angular.element(document.getElementById('testDiv')); $scope.myAttr = $scope.myElem.attr('name'); 我不知道如何从指令中获取属性。所有示例似乎只使用带有命名属性的链接。我不

我需要一个div的名字?我该怎么做呢?(我不在乎这是否是一个坏习惯)

我已经尝试了一千种方法,其中一些可以从中看出。以下代码在控制器外部工作,但不适用于clientHeight:

    $scope.myElem = angular.element(document.getElementById('testDiv')); 
    $scope.myAttr = $scope.myElem.attr('name'); 

我不知道如何从指令中获取属性。所有示例似乎只使用带有命名属性的链接。我不需要设置客户重量,我只需要退回它

使用指令将是最简单的方法。DOM完全通过
链接
(后期链接)功能实现,因此元素属性应该可用

比如说

.directive('logClientHeight', function($log) {
    return {
        link: function(scope, element) {
            $log.debug(element.prop('clientHeight'));
        }
    }
});


请注意,对于要具有“典型”的元素,它应该是一个“典型”元素


感谢您指出这一点。

使用指令将是最简单的方法。DOM完全通过
链接
(后期链接)功能实现,因此元素属性应该可用

比如说

.directive('logClientHeight', function($log) {
    return {
        link: function(scope, element) {
            $log.debug(element.prop('clientHeight'));
        }
    }
});


请注意,对于要具有“典型”的元素,它应该是一个“典型”元素



感谢您指出这一点。

在您的指令中,您可以通过以下方式获得clientHeight:
elem[0]。clientHeight
。在你的指令中运行你的DOM,而不是在你的控制器中运行。你真是太棒了。为什么是零呢?普朗克:我要猜猜这个。因为
示例指令
不是
本机
(如果我可以这样称呼它)元素,所以它没有这些属性。如果您希望它有一个高度,您可以将指令更改为
,并将
restrict
更改为
a
。因此,如果您进行这些更改并向div添加一些内容,它将记录一些高度。这是因为当您调用
elem
时,您调用的是
example指令
div,带有滚动条的div是它的子项。因此,您有两个选择:在当前指令中,获取第一个子项并绑定(使用
bind
on
scroll
事件,或者您可以为div.html中包含的div创建第二个指令,并直接获取
scrollTop
。@Eric Martinez:老实说,您真的让我开心极了。非常感谢。在您的指令中,可以通过以下方式获得clientHeight:
elem[0]。clientHeight
。在你的指令中运行你的DOM,而不是在你的控制器中运行。你真是太棒了。为什么是零呢?普朗克:我要猜猜这个。因为
示例指令
不是
本机
(如果我可以这样称呼它)元素,所以它没有这些属性。如果您希望它有一个高度,您可以将指令更改为
,并将
restrict
更改为
a
。因此,如果您进行这些更改并向div添加一些内容,它将记录一些高度。这是因为当您调用
elem
时,您调用的是
example指令
div,带有滚动条的div是它的子项。因此,您有两个选择:在当前指令中,获取第一个子项并绑定(使用
bind
on
scroll
事件,或者您可以为div.html中包含的div创建第二个指令,并直接获取
scrollTop
。@Eric Martinez:老实说,您真的让我开心极了。非常感谢。非常感谢你,投了赞成票。如果你愿意帮忙,可能还有一两个问题。试着用角度来做这件事。你的示例文本很成功,我一整天都在做这件事。我猜这就是我不懂基本原理的原因。你能看最后一件事吗?如果你不这么想,我绝对理解,并感谢我已经得到的帮助。话虽如此,我需要“ScrollTop”属性:有没有关于它为什么停留在0的想法?没有保存更新,我的错。但它似乎要么没有得到它,要么没有更新它。旧链接仍然有效,只是现在保存了更改。@VSO,因为您的元素不是滚动的对象;它里面的
。修正到这里了~我知道我的“谢谢”重复在这一点上是多余的,但你真的帮了我。非常感谢你,投了赞成票。如果你愿意帮忙,可能还有一两个问题。试着用角度来做这件事。你的示例文本很成功,我一整天都在做这件事。我猜这就是我不懂基本原理的原因。你能看最后一件事吗?如果你不这么想,我绝对理解,并感谢我已经得到的帮助。话虽如此,我需要“ScrollTop”属性:有没有关于它为什么停留在0的想法?没有保存更新,我的错。但它似乎要么没有得到它,要么没有更新它。旧链接仍然有效,只是现在保存了更改。@VSO,因为您的元素不是滚动的对象;它里面的
。固定在这里~我知道我的“谢谢”重复在这一点上是多余的,但你真的帮助了我。