Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angularjs中,有没有一种方法可以获取指令中子元素的宽度和高度_Javascript_Jquery_Css_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 在Angularjs中,有没有一种方法可以获取指令中子元素的宽度和高度

Javascript 在Angularjs中,有没有一种方法可以获取指令中子元素的宽度和高度,javascript,jquery,css,angularjs,angularjs-directive,Javascript,Jquery,Css,Angularjs,Angularjs Directive,我使用带有模板的angularjs指令将div附加到元素。CSS使用“最大宽度”自动设置其宽度样式。如何找到此宽度以便进一步处理?我试过: for(var i=0; i<numchild; i++){ angular.element(element.children()[i]).clientWidth } for(var i=0;iconsole.log(angular.element(element.children()[i])[0].clientWidth); 是你想要的,但

我使用带有模板的angularjs指令将div附加到元素。CSS使用“最大宽度”自动设置其宽度样式。如何找到此宽度以便进一步处理?我试过:

for(var i=0; i<numchild; i++){
    angular.element(element.children()[i]).clientWidth
}
for(var i=0;i
console.log(angular.element(element.children()[i])[0].clientWidth);


是你想要的,但是你也在循环你的

标签,所以
numchild=5
是错误的。(你有5个div和5个br)。

你能发布模板和指令吗?你试过
偏移宽度
吗?试过了,都不起作用
css('height')
css('width')如何
?您可以在指令中简单地将jquery用作$(el).height()或$(el).width()zepto。
angular.module('components', [])
    .directive('mydir', function () {
        numchild = 5
        return {
            restrict: 'E',
            replace: true,
            link: function(scope, element, attr) {
                for(var i=0; i<numchild; i++){
                    if(i==0){
                        element.append('<div class="myclass" style="display:table">Random</div><br>');
                    }
                    else {
                        element.append(
                            '<div class="myclass" style="display:table">Random noise here and there and everywhere around us</div><br>'
                        )
                    }
                    console.log(angular.element(element.children()[i]).clientWidth);
                }
            }
        }
    })

angular.module('MyApp', ['components'])