我想仅使用jquery获取样式属性的高度和宽度

时间:2018-03-08 06:24:46

标签: javascript jquery

您好我想使用Jquery从

下面获取高度,

<div class="profile-tracker" style="width: 577px; height: 404px; position: absolute; top: -2px; left: -2px; z-index: 290;"></div>

2 个答案:

答案 0 :(得分:2)

如果您要查找height属性中指定的style值,请使用reducesplit

var styleMap = style.split( ";" ).reduce( ( a, c ) => ( d = c.split( ":" ), a[d[0].trim()] =  String(d[1]).trim(), a ), {}); //get style map 

<强>演示

//console.log( $( ".profile-tracker" ).attr( "style" ) );

var style = $( ".profile-tracker" ).attr( "style" ); //get style attribute value

var styleMap = style.split( ";" ).reduce( ( a, c ) => ( d = c.split( ":" ), a[d[0].trim()] =  String(d[1]).trim(), a ), {}); //get style map 

console.log( styleMap[ "height" ] ); //get height value specified
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="profile-tracker" style="width: 577px; height: 404px; position: absolute; top: -2px; left: -2px; z-index: 290;"></div>

如果样式中还包含url,那么

//console.log( $( ".profile-tracker" ).attr( "style" ) );

var style = $( ".profile-tracker" ).attr( "style" ); //get style attribute value

var styleMap = style.split( ";" ).reduce( ( a, c ) => ( d = c.split( ":" ), a[d[0].trim()] =  String(d[1]).trim(), a ), {}); //get style map 

console.log( styleMap[ "height" ] ); //get height value specified
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="profile-tracker" style="no-repeat url(';../../media/examples/lizard.png') ;width: 577px; height: 404px; position: absolute; top: -2px; left: -2px; z-index: 290;"></div>

根据spec,style属性的语法如下

  

声明列表

     

:S *声明? [';' S *声明? ] *

     

注意

  • 对于其值具有的属性;通过这种方法,它不会提供正确的输出。

答案 1 :(得分:0)

我认为你正在寻找这个。

var z=$(".profile-tracker")
console.log(z[0].style.height);
console.log(z[0].style.width);

enter image description here