Javascript 在不使用AngularJS中的指令的情况下获取元素属性(高度/宽度)
在angularJS中,我们可以使用指令访问元素,并且可以使用这些指令设置属性。我想在不使用指令的情况下获取/设置DOM元素的一些属性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
<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
可能会派上用场-