0

I want to get the exact with of inline element ie p tag width. As per dom it show's 600px but it is not the actual width as per how text is rendered.

How to get proper width of p tag ie skipping width which is used by floating div.

This is my html structure

<div id="parent">
 <div id="floating" style="display: block;width: 170px;height: 80px;float: right;background-color: red;">
  Floating div
 </div>
    <div id="child">
        <p id="p1">long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long </p>
    </div>
</div>

jsFiddle link

I want to achieve this with the help of java-script only.

Any suggestions are welcome, thanks for your help.

2 Answers2

0

    var parentWidth = $("#parent").width(); 
    var floatDivWidth = $("#floating").width();
    var pWidth = parentWidth-floatDivWidth; //width of <p> tag
    
    alert(pWidth);
#parent {
    width: 600px;
    background-color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parent">
 <div id="floating" style="display: block;width: 170px;height: 80px;float: right;background-color: red;">
  Floating div
 </div>
    <div id="child">
        <p id="p1">long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long </p>
    </div>
</div>

https://jsfiddle.net/q98L4hqu/1/

Dave
  • 2,764
  • 2
  • 15
  • 27
0

use

alert(document.getElementById("p1").offsetWidth)

Example

<div id="parent">
 <div id="floating" style="display: block;width: 170px;height: 80px;float: right;background-color: red;">
  Floating div
 </div>
    <div id="child">
        <p id="p1">long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long </p>
    </div>
</div>

<script>
alert(document.getElementById("p1").offsetWidth)
</script>

Ref from : How do I retrieve an HTML element's actual width and height?

Community
  • 1
  • 1
Mani
  • 2,675
  • 2
  • 20
  • 42