<div class="ui-progress" style="width: 10%;">
console.log($(this).width());
以像素为单位返回宽度而不是%。我如何获得百分比?
答案 0 :(得分:7)
试试这个:
var width = $('.ui-progress').width();
var parentWidth = $('.ui-progress').offsetParent().width();
var percent = 100*width/parentWidth;
OR
var width = ( 100 * parseFloat($('.ui-progress').css('width')) / parseFloat($('.ui-progress').parent().css('width')) ) + '%';
如果.offsetParent()
的父级有CSS .ui-progress
,则可以使用position:absolute
。
答案 1 :(得分:0)
它返回一个以像素为单位的宽度,因为这是浏览器解释百分比的方式。它可能会在CSS中显示为百分比,但在浏览器显示时会变为像素值。
的console.log($(本).attr( “风格”));
答案 2 :(得分:0)
如果div被隐藏,您可以获得%。当div被隐藏时$(selector).width()返回百分比。
答案 3 :(得分:0)
这是解决方案,
var xdom = $('.ui-progress')[0];
var percentWidth = xdom.style['width'];
或
var percent_width=xdom.style.width;