I want to get the width of an element in percentage. I am using the following function to get the style but it gives the value in pixels. Here the variable style can be any css property like width, height etc.
this.getStyle = function(style) {
var elementStyle = window.getComputedStyle(that.element);
var value = elementName.getPropertyValue(style);
return value;
}
I want to get the width of an element in percentage. I am using the following function to get the style but it gives the value in pixels. Here the variable style can be any css property like width, height etc.
this.getStyle = function(style) {
var elementStyle = window.getComputedStyle(that.element);
var value = elementName.getPropertyValue(style);
return value;
}
Share
Improve this question
edited Dec 20, 2015 at 6:33
Mr_Pouet
4,2808 gold badges39 silver badges49 bronze badges
asked Dec 20, 2015 at 6:29
Romit AmgaiRomit Amgai
1231 gold badge1 silver badge9 bronze badges
4
- How do you set the width? – Kiril Commented Dec 20, 2015 at 6:32
- What about doing a manual calculation of the % using the pixel width value of the parent element? – Mr_Pouet Commented Dec 20, 2015 at 6:33
- i have set the width in percentage as 'width: 100%' – Romit Amgai Commented Dec 20, 2015 at 6:33
- 3 Possible duplicate: stackoverflow.com/questions/9730612/… – Mr_Pouet Commented Dec 20, 2015 at 6:34
3 Answers
Reset to default 13Seems that you're looking for
that.element.style.width
that.element.style.height
etc
I think you get always pixels, rather than % width. The reason is while object render it always set physical width based on% we given, this you can verify via dom. Javascript use DOM(Document Object Model)
, while jQuery you can use Dom as well as before load property via document.getready()
.
So as above you can get the property, but in pixels.
document.getElementById('yourdivname').element.style.width
or
div2 = document.getElementById('div2');
alert("Width of div2 with style = " + div2.style.width);
Getting the width of an html element in percent % with jQuery
This is interesting :
Is it possible to use jQuery to get the width of an element in percent or pixels, based on what the developer specified with CSS?
http://www.lucemorker.com/blog/javascript-vs-jquery-quick-overview-and-comparison
$(document).ready is a jQuery event to be triggered after the HTML document has been loaded vs onload is a built-in DOM event to be triggered after all content has been loaded. So the ready event would normally fire earlier than the onload event, allowing code execution as early as possible without having to wait for all assets to be fully loaded
For more details :- click this link.
Have you tried something like this:
var width = (100 * parseFloat($('.largeField').css('width')) / parseFloat($('.largeField').parent().css('width')) ) + '%';