.innerWidth()

Get the current computed inner width (including padding but not border) for the first element in the set of matched elements or set the inner width of every matched element.

innerWidth ( ) Returns: Integerversion added: 1.2.6

Description: Get the current computed inner width for the first element in the set of matched elements, including padding but not border.

This method returns the width of the element, including left and right padding, in pixels.

This method is not applicable to window and document objects; for these, use .width() instead.

Examples:

Example: Get the innerWidth of a paragraph.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>css demo</title>

  <style>

  p {
    margin: 10px;
    padding: 5px;
    border: 2px solid #666;
  }

  </style>

  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
  

<p>Hello</p>
<p></p>

<script>

var p = $( "p:first" );
$( "p:last" ).text( "innerWidth:" + p.innerWidth() );

</script>

  
</body>
</html>

Demo:

innerWidth ( value ) Returns: jQueryversion added: 1.8.0

  • value
    Type:
    A number representing the number of pixels, or a number along with an optional unit of measure appended (as a string).

innerWidth ( function(index, width) ) Returns: jQueryversion added: 1.8.0

  • function(index, width)
    Type: Function
    A function returning the inner width (including padding but not border) to set. Receives the index position of the element in the set and the old inner width as arguments. Within the function, this refers to the current element in the set.

Description: Set the CSS inner width of each element in the set of matched elements.

When calling .innerWidth("value"), the value can be either a string (number and unit) or a number. If only a number is provided for the value, jQuery assumes a pixel unit. If a string is provided, however, any valid CSS measurement may be used for the width (such as 100px, 50%, or auto). Note that in modern browsers, the CSS width property does not include padding, border, or margin, unless the box-sizing CSS property is used.

If no explicit unit is specified (like "em" or "%") then "px" is assumed.

Examples:

Example: Change the inner width of each div the first time it is clicked (and change its color).

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>css demo</title>

  <style>

div {
width: 60px;
padding: 10px;
height: 50px;
float: left;
margin: 5px;
background: red;
cursor: pointer;
}
.mod {
background: blue;
cursor: default;
}

  </style>

  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
  

<div>d</div>
<div>d</div>
<div>d</div>
<div>d</div>
<div>d</div>

<script>

var modWidth = 60;
$( "div" ).one( "click", function() {
$( this ).innerWidth( modWidth ).addClass( "mod" );
modWidth -= 8;
});

</script>

  
</body>
</html>

Demo: