1
 <div class="ui-progress" style="width: 10%;">

 console.log($(this).width());

幅を%ではなくピクセルで返します。パーセンテージを取得するにはどうすればよいですか?

4

4 に答える 4

7

これを試して:

var width = $('.ui-progress').width();
var parentWidth = $('.ui-progress').offsetParent().width();
var percent = 100*width/parentWidth;

また

var width = ( 100 * parseFloat($('.ui-progress').css('width')) / parseFloat($('.ui-progress').parent().css('width')) ) + '%';

ノート

.offsetParent()の親.ui-progressがCSSを持っている場合に使用できますposition:absolute

于 2012-06-12T14:34:34.320 に答える
0

パーセンテージがブラウザによって解釈される方法であるため、ピクセル単位で幅を返します。CSSではパーセントで表示される場合がありますが、ブラウザで表示するとピクセル値に変換されます。

console.log($(this).attr( "style"));

于 2012-06-12T14:34:42.680 に答える
0

divが非表示の場合、%を取得できます。divが非表示の場合、$(selector).width()はパーセンテージを返します。

于 2013-05-31T11:23:53.440 に答える
0

これが解決策です、

var xdom = $('.ui-progress')[0];
var percentWidth = xdom.style['width'];

または

var percent_width=xdom.style.width;
于 2020-03-04T13:57:43.103 に答える