Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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_Html_Css_Angularjs - Fatal编程技术网

Javascript 在不使用AngularJS中的指令的情况下获取元素属性(高度/宽度)

Javascript 在不使用AngularJS中的指令的情况下获取元素属性(高度/宽度),javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,在angularJS中,我们可以使用指令访问元素,并且可以使用这些指令设置属性。我想在不使用指令的情况下获取/设置DOM元素的一些属性 <div class=main ng-app="myApp" ng-controller="SalesController"> <div class=ele1> </div> <div class=ele2> </div> <div class=ele3></d

在angularJS中,我们可以使用指令访问元素,并且可以使用这些指令设置属性。我想在不使用指令的情况下获取/设置DOM元素的一些属性

<div class=main ng-app="myApp" ng-controller="SalesController">
    <div class=ele1> </div>
    <div class=ele2> </div>
    <div class=ele3></div>
</div>
我知道如何使用指令获得高度,但在某些情况下,我们需要项目不同部分中div元素的高度/宽度,每次添加指令都会增加代码


在angularjs中是否有一种单行方式来查找div的高度/宽度(如jquery中的
$(“classname”).height()
?我更愿意不使用jQuery就这样做。

您可以使用JavaScript循环找到
DOM
元素的
height/width

示例:

var myApp = angular.module('myApp', []);
myApp.controller('SalesController',function($scope){
  var objects = document.getElementsByClassName('YOUR_CLASS_NAME');
  var height = 0;
  for(var i=0;i<objects.length;i++){
    height = objects[i].clientHeight;
    console.log(height); /*Output in JS console*/
    alert(height); /*Output in window alert Box*/
  }
});

您可以使用JavaScript循环找到
DOM
元素的
height/width

示例:

var myApp = angular.module('myApp', []);
myApp.controller('SalesController',function($scope){
  var objects = document.getElementsByClassName('YOUR_CLASS_NAME');
  var height = 0;
  for(var i=0;i<objects.length;i++){
    height = objects[i].clientHeight;
    console.log(height); /*Output in JS console*/
    alert(height); /*Output in window alert Box*/
  }
});

我们可以使用javascript或angular js访问元素,在上面的回答中,他们使用javascript访问元素。在angular js中,我们可以在控制器中注入$element,我们可以使用类或id访问任何元素

myApp.controller('SalesController',function($scope,$element){
 //here we are using 2 indexes but that is not the position index of child elements
 var temp=$element[0].getElementsByClassName('ele1')[0].clientHeight;
 });         

我们可以使用javascript或angular js访问元素,在上面的回答中,他们使用javascript访问元素。在angular js中,我们可以在控制器中注入$element,我们可以使用类或id访问任何元素

myApp.controller('SalesController',function($scope,$element){
 //here we are using 2 indexes but that is not the position index of child elements
 var temp=$element[0].getElementsByClassName('ele1')[0].clientHeight;
 });         

使用$element服务为什么您的
名称与
ele1、ele2、ele3不同?您应该使用与DOM元素相同的
名称。因为许多DOM元素可以具有相同的
。但是
ID
对于HTML是唯一的page@SumonSarker:这里我使用了相同的类名作为简单的示例,,,感谢您的支持…@ZeRubeus:我需要随机获取元素,我不能像这样使用$element[0],因为在某些情况下,我会动态创建UI。。。。我是否可以使用$element用于此目的。。。例如:我在一个父div中有大约10个子div,我不知道所需子div的正确位置,它可能位于0、1或第5位置,因此在这种情况下,我将如何使用$element访问该对象,请帮助我!好的,欢迎@user3501613use$element services为什么您的
名称与
ele1、ele2、ele3不同?您应该使用与DOM元素相同的
名称。因为许多DOM元素可以具有相同的
。但是
ID
对于HTML是唯一的page@SumonSarker:这里我使用了相同的类名作为简单的示例,,,感谢您的支持…@ZeRubeus:我需要随机获取元素,我不能像这样使用$element[0],因为在某些情况下,我会动态创建UI。。。。我是否可以使用$element用于此目的。。。例如:我在一个父div中有大约10个子div,我不知道所需子div的正确位置,它可能位于0、1或第5位置,因此在这种情况下,我将如何使用$element访问该对象,请帮助我!好的,欢迎@user3501613也
element.getBoundingClientRect().height
可能会派上用场-同样
element.getBoundingClientRect().height
可能会派上用场-